Discover what's new in MISRA C++ 2023, with Andreas Weis
An in-depth session on the MISRA C++ 2023 standard with industry expert Andreas Weis, covering what changed, why it matters for safety-critical software, and how static analysis tools can help enforce compliance.
Understanding MISRA C++
MISRA C++ is a set of coding guidelines designed to define a safe subset of the C++ language, making it harder for developers to introduce mistakes. Unlike other coding standards that focus on best practices and code elegance, MISRA's primary goal is to keep developers away from dangerous language features. The acronym MISRA stands for Motor Industry Software Reliability Association, an organization with roots in the automotive industry that has evolved into an international consortium of functional safety experts, security specialists, programming language experts, and software tooling representatives.
The Evolution: From 2008 to 2023
The original MISRA C++ standard was published in 2008, based on the C++03 standard. However, with the introduction of C++11 and subsequent language updates, the 2008 guidelines became outdated. For 15 years, the standard remained stagnant until the working group reassembled to create a modernized version. The interim period saw the AUTOSAR organization publish C++14 guidelines in 2017, drawing from multiple sources including MISRA, the Joint Strike Fighter guidelines, and the C++ Core Guidelines. Eventually, MISRA took over this work and published the MISRA C++ 2023 standard in October 2023, targeting C++17 as its language baseline.
Structure and Purpose of MISRA Rules
Each rule in the MISRA C++ 2023 standard follows a consistent structure, beginning with a headline that briefly summarizes the rule's purpose. These headlines become familiar to developers using checker tools, as they typically appear in tool warnings and reports. Each rule is then assigned a category indicating its importance level. This standardized format ensures consistency across the guidelines and makes them accessible to both developers and automated analysis tools.
A Renewed Commitment to Regular Updates
A significant change from previous iterations is that the MISRA C++ working group did not disband after completing the 2023 standard. Instead, the team continues to meet weekly to discuss and plan future updates. This commitment to ongoing work represents a shift from the 15-year gap between the 2008 and 2023 versions, with the goal of publishing guidelines on a more regular cadence going forward. This approach ensures that MISRA C++ can more quickly adapt to new language standards and emerging safety concerns.
Key Takeaways
- MISRA C++ 2023 represents the first major update to the standard in 15 years, now targeting C++17 and incorporating modern language features
- The standard is developed by an international consortium of experts in functional safety, security, and software tooling, with roots in automotive industry applications
- Rules follow a standardized structure with headlines and categories to ensure clarity and compatibility with automated checking tools
- The MISRA C++ working group remains active after publication, committing to regular updates and a more frequent release cadence
- MISRA C++ focuses specifically on eliminating dangerous language features rather than general best practices, making it particularly valuable for safety-critical systems