MISRA C is a set of software development guidelines for the C programming language developed by the MISRA (Motor Industry Software Reliability Association) Consortium.
Originally published in 1998, the aim of MISRA C is to facilitate code safety, security, portability and reliability in the context of embedded systems, specifically those systems programmed in ISO C / C90 / C99.
While MISRA was originally specific to the C programming language, MISRA has added a coding standard for C++.
Complying with MISRA is important for many development teams today, especially as virtualization rises.
Experts say it’s important to understand the steps that lead to MISRA compliance. This includes knowing the rules and checking your code constantly. Another step involves setting baselines.
Setting baselines is crucial because embedded systems come with legacy codebases. By setting baselines, you can focus on making sure your new code is compliant.
It’s also necessary to prioritize violations based on risk. In actuality you could have hundreds or even thousands of violations in your code. Therefore it’s important to prioritize rule violations based on risk severity. Some static code analysis tools can do this for you.
Additional steps include documenting deviations and monitoring MISRA Compliance. Sometimes there are exceptions to the rule. But when it comes to compliance, every rule deviation needs to be well-documented.
Also you need to keep an eye on how MISRA compliant your code is. Using a static code analyzer makes this easier by automatically generating a compliance report.
Finally, it’s important to choose the right static code analyzer. Choosing the right static code analyzer makes everything else easy. It takes care of scanning your code — new and legacy — for violations. It also prioritizes vulnerabilities based on risk.
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.