Why Enforce Programming Standards?
The adoption of appropriate programming standards is becoming a general
requirement. Standards such as the MISRA C guidelines and the SPARK safe subset for
Ada (both enforceable by LDRA Testbed) give companies the ability to create projects
on solid coding foundations. Programming standards, whose enforcement is regarded as
good practice, can be automatically checked by LDRA Testbed.
Programming Standards Checking
LDRA's Code Review searches the source code for any Programming
Standards Violations, by checking the source file against a super-set supplied with
LDRA Testbed. This system of checking is highly configurable:
- User definable filters - switch standards on or off.
- Change standards from mandatory to optional or vice-versa.
- Use annotations to switch off standards for specific instances of
violations.
- LDRA can implement new standards on request.
LDRA Testbed reports all violations of the chosen set of standards in
both textual reports and also as annotations to graphical displays.
These foundations can be easily enforced by LDRA Testbed and can
bring about both short term and long term savings across the software life cycle through:
- Understandability
- Testability
- Maintainability
- Reliability
Users should decide which standards are suitable for their project. Some
standards are specific to safety critical code and may not be suitable for all environments. Examples
include:
MISRA C / MISRA-C:2004 Checking (C/C++ only)
MISRA C and MISRA C: 2004 are internationally recognised standards that
specify a set of programming standards and other measures to develop a safety related system
to best practice standards.
LDRA Testbed has MISRA C Checking built into its system and is the only
tool to check all three areas required for compliance.
- Programming rules
- Complexity metrics
- Code coverage
LDRA Testbed links programming standards to the MISRA standard, and marks
them as:
as stipulated by the standard.
DERA C (C/C++ only)
DERA C is an extension to the MISRA C standard for safety critical
systems. Developed by UK MOD institutions with assistance from LDRA, DERA C requires a
sophisticated Data Flow and Information Flow analysis of the source code, and can
therefore only be checked by LDRA Testbed.
Once a set of standards has been agreed for adoption, the various
LDRA Testbed data files should be configured for this set. After this has been done, the
LDRA Testbed results will, through the Quality Report Code Review Report and the Kiviat
Diagram, enable users to easily view adherence to, or deviation from, these standards.
Obtaining Further Information
For further information on this particular feature of TBsafe and its availability please complete the LDRA reply form or email .
|