Programming Research static analysis tools now include support for MISRA C:2012 (MISRA C3), with an updated compliance module for QA·C Version 8.1, in anticipation of the new version of the coding standard which will be published on 18 March. The new standard contains a number of improvements over previous versions and extends support to the C99 version of the C language (ISO/IEC 9899:1999).
MISRA C:2012 includes support for C99, a version of the C language that was not widely implemented when MISRA C:2004 (MISRA C2) was published, while maintaining guidelines for C90. Other developments include some additional rules, and a wide range of improvements designed to make it easier for users to understand and use the guidelines. These are based on the wide experience gained from users of MISRA C2 around the world, and include:
- Elimination of areas of ambiguity to ensure consistent interpretation of the rules.
- Classification of rules as either “mandatory”, “required” or “advisory”.
- A more explicit recognition of “decidability”, the extent to which enforcement of a rule can be guaranteed.
- Improved rule definition providing a closer focus on dangerous constructs while avoiding unnecessary and irksome restrictions.
- Expanded examples and more extensive explanation of the rationale behind particular rules.
- Better explanation of why a user might want to deviate from (not comply with) a particular rule.