Date: 24/09/2012
LDRArules: Software programming rules for assuring standards compliance
LDRA has announced LDRArules to enable development teams to improve their software quality by choosing and sticking to relevant industry standard programming standards. LDRArules is a programming rule checker that brings together a collection of rules from a broad spectrum of programming standards and is implemented as a stand-alone product. Companies can simply configure LDRArules for a specific programming standard or prefer to enforce in-house programming templates and get better their overall software development methodology.
LDRA presents programming standard conformance for more than a dozen programming standards, including MISRA-C:1998, MISRA-C:2004, MISRA AC, MISRA C++:2008, CERT C, CERT J, CWE, HIS, JPL, JSF++ AV, High Integrity C++, SPARK Ada subset and the Ravenscar Profile. The programming standards offer programming rules across the primary languages used in embedded design: C, C++, Ada and Java.
Developers can select rules for a specific industry standard or they can choose a combination of rules from a variety of standards, creating customized templates tailored for their company and projects. LDRArules documents which rules have been selected, ensuring complete transparency of what programming rules have been executed.
“LDRA’s aim is to enable companies to achieve zero-defect software,” stated Ian Hennell, LDRA Operations Director. “By simply implementing a programming standard, companies can eradicate 70% of their software defects and significantly decrease overall development cost. By automating an immediate check of code as it’s being written, software defects are identified at their inception, saving the tremendous time and cost of identifying errors late in the development lifecycle.”
Compliance with programming standards allows developers to:
1. Promote portability and avoid unexpected results
2. Ensure there is no reliance placed on compiler or platform-specific constructs
3. Identify unreachable or infeasible code which often indicates a defect that will, at the very least, impact software maintainability
4. Prohibit certain language constructs known to be a source of common errors
5. Measurably reduce program complexity
6. Improve program testability, easing standard compliance and certifiability
Hennell adds, “With this methodology, programming errors are identified when code is being written and, therefore, can be immediately corrected. This shortens the debug process and mitigates schedule, safety and security risk.”