Parasoft Logo Register | Log in  /  Contact us  /  Blog  /  Support  /  Downloads  /  info@parasoft.com  /  888-305-0041  /  Language »

Software Coding Standards

 

Software coding standards are language-specific programming rules that greatly reduce the probability of introducing errors into your applications, regardless of which software development model (iterative, waterfall, eXtreme programming, and so on) is being used to create that application.

Software coding standards originated from the intensive study of industry experts who analyzed how bugs were generated when code was written and correlated these bugs to specific coding practices. They took these correlations between bugs and coding practices and came up with a set of rules that when used prevent coding errors from occurring. Coding standards offer incredible value to software development organizations because they are pre-packaged automated error prevention practices; they close the feedback loop between a bug and what must be done to prevent that bug from reoccurring. You don'tt have to write your own rules to get the benefit of coding standards – the experts have already done it for you.

In a team environment or group collaboration, coding standards ensure uniform coding practices, reducing oversight errors and the time spent in code reviews. When work is outsourced to a third-party contractor, having a set of coding standards in place ensures that the code produced by the contractor meets all quality guidelines mandated by the client company.

Coding Standards Are NOT merely a way of enforcing naming conventions on your code.

Coding Standards Enforcement IS static analysis of source code for:

  • Certain rules and patterns to detect problems automatically

  • Based on the knowledge collected over many years by industry experts

  • Virtual code review or peer review by industry respected language experts – AUTOMATICALLY

Previous efforts at standards enforcement include SEI - CMM and ISO 9001. These efforts failed to deliver on their promise because they created stacks upon stacks of bureaucratic documents. There was no automation of processes– because of this the cost of implementation overwhelms the benefit of process implementation.

How Coding Standards are Classified

Software coding standards are classified by language, usage, and severity levels. Language specific rules and best coding practices are determined by industry experts in that particular language. Usage types and severity levels are set by the user.

Language

Parasoft provides coding standards for:

Coding Standards for Regulatory Compliance

Parasoft provides coding standards for standards such as PCI Data Security Standard, HIPAA Security Assessment, OWASP Top 10, FDA General Principles for Software Validation, CWE-SANS Top 25, ISO 26262, Ellemtel, HIS Source Code Metrics, Internationalization, Joint Strike Fighter, MISRA C, MISRA C 2004, MISRA C++ 2008, and SAMATE Annex A Source Code Weaknesses.

Parasoft and Coding Standards – What We Offer

Parasoft provides two options for coding standards implementation:

  1. Industry Standard Rules. These language-specific rules are provided "Out-of-the-Box" with Parasoft tools, such as Jtest, C++test, and .TEST.
  2. Based on your current specification documents for your coding standards. Parasoft's Professional Services helps you to:
    • Document rules
    • Prioritize
    • Create test cases
    • Utilize RuleWizard to create & implement rules

How the Coding Standards Process is Automated

Coding standards are automated through:

  1. Daily usage by developers. Each developer enforces rules every time a class is written and before the class is checked in to the source code repository.

  2. Automated nightly builds. Coding standards are enforced upon all source code modified during the day by automatically running and testing the code in "batch mode".

Both of these methods verify that each developer adhered to the coding standards. In conjunction with Parasoft's reporting system, developers can send reports to management on the current status of their project. This closes the software development lifecycle feedback loop to ensure that the process is indeed in place and running properly.


See also:



Read the following Parasoft technical white papers:

 
  • Best Practices for Bulletproofing C/C++ Code

  • The Yin and Yang of Software Development: 5 Best Practices that Allow Efficiency and Creativity to Productively Coexist

  • Code Review Best Practices

  • Static Code Analysis Best Practices

  • Best Practices for Improving the Functionality, Reliability, Security, and Performance of a Large and Complex Java Code Base - 85 KB PDF

  • Bulletproof Java Code: A Practical Strategy for Developing Functional, Reliable, and Secure Java Code - 85 KB PDF

  • Google+RSSBlogTwitterFacebookWikipediaLinked In Copyright © 1996-2014 Parasoft   |  Privacy Policy |  Site Map