Free MISRA Checking tool
The standard C and C++ programming languages give programmers a lot of freedom. For Embedded Projects maybe a bit too much. Embedded Systems are often constrained in resources as available memory and need to be very reliable to prevent high costs in fixing problems that occur after shipping a product. As a result many companies try to get more grip on their Development process and Product Quality. Definition of, and adherence to, a Programming standard or at least some set of programming conventions is a very pragmatic step in the right direction. Recently we see a strong interest in applying a subset of the MISRA standard for that purpose.
The MISRA standard describes a set of rules for C and C++ programmers that will, when applied, ensure higher quality and better documented code. It will prevent programmers form using some of the more risky construct these programming languages offer. We have seen many companies adopting MISRA as their in-house set of programming rules.
However, having its roots in the Automotive industry, the full set of MISRA C and C++ rules are in many cases too restrictive when fully applied. Many programmers who run a MISRA checker on the existing code might see so many violations they get discouraged from enforcing them. In real-life it seems a better approach to select a subset of Misra rules that are realistic for the application area in question. Many toolsets offer capabilities to create such subsets of Rules.
Free MISRA checker IAR Systems has recognized the trend to improve the embedded software using MISRA and included a basic but FREE MISRA checker as standard in their embedded Workbench range of Development Toolsuites. Currently MISRA C, but MISRA C++ has already been announced. In most cases this is enough for the described purpose. More here>>
Advanced MISRA-C & C++ checkers In some cases more advanced MISRA checkers are required. Specially in case of Safety-related or High-reliability applications more exhaustive Programming Standard checking is required. The Static Analysis and Programming standards checking module of the LDRA Testbed is the choice in many such projects. LDRA has several members in the various MISRA committees. Next to MISRA the tools supports a wide range of Programming standards like CERT-C and High-integrity-C. It allows definition of new rules and standards, and was actually used to develop the JSF++ standard. More here>>
07-07-2010
|