MISRA (the Motor Industry Software Reliability Association) is a collaborative effort among vehicle manufacturers, component suppliers, and engineering consultancies.
MISRA is managed by a Steering Committee that includes Ford Motor Company, Bentley Motors, Jaguar Land Rover, HORIBA MIRA, ZF TRW, and the University of Leeds.
The most prominent of MISRA guidelines are for projects developed using the C and C++ programming languages. These include MISRA C 2004, MISRA C++ 2008, and MISRA C 2012 standards.
Though born in the automotive industry, MISRA has gained acceptance in other markets. In fact, MISRA standards for C and C++ are widely used by embedded industries — including aerospace and defense, telecommunications, medical devices, and rail. Most of these industries have a compliance requirement to use a coding standard — such as ISO 26262 for automotive functional safety.
MISRA C Guidelines define a predictable subset of the C language in which the opportunity to make mistakes is either removed or reduced.
As well as defining this subset, these MISRA C Guidelines provide:
- Educational material for those developing C programs
- Reference material for tool developers
The recommendations within these guidelines, when used within a documented software development process, address many of the disadvantages of the C language, irrespective of the purpose of the end-use of the developed code.
Although MISRA C is not a style guide, numerous rules also promote the writing of clear, readable maintainable code. This is very beneficial, as code that is straightforward to understand is much less likely to harbor subtle bugs or undefined behavior.
Programming experience is still important, even when using MISRA C. Although it won’t completely eliminate bugs, MISRA C will help reduce the number of errors that find their way into an application.
Want to learn more? Tonex offers MISRA-C Training, a two-day course designed for C programmers, engineers and managers working on safety-critical applications for automotive, medical, military, aerospace, avionics, or other life-critical applications.
Additionally, MISRA-C training covers the MISRA C:2012 guidelines to ensure safe coding practices can be achieved efficiently.
For more information, questions, comments, contact us.