MISRA C:2025® has just been published! What does this mean for organizations that rely on MISRA® guidance for developing safety-critical systems?
In this blog, we give an overview of the new release and what it means for your team.
Get a MISRA C:2025 Compliance Custom Demo
Back to topMISRA C:2025 Overview
The release of MISRA C:2025 was announced at the Embedded World event in Nuremberg, Germany, March 2025. Although it is a less substantive update than its predecessor, it is build on the efficiency of MISRA C:2023 with significant policy changes, enhancements, and new guidelines to further simplify the process of developing reliable and robust safety- and security-critical code.
Back to topWhat Does MISRA C:2023 Cover?
MISRA C software development guidelines are designed to keep software written in the C programming language safe and secure. The guidelines encompass rules and directives for developers to follow, and developers can use tools — like Perforce Static Analysis tools Perforce QAC and Perforce Klocwork — to help detect any violations of the guidelines.
Prior to MISRA C:2025, MISRA C:2023 was the last major release, laying out a total of 221 guidelines and covering C90, C99, and C11/C18.
While MISRA C:2025 provides more of an incremental update to the existing guidance, it lays the foundation for supporting the next version to the C standard and updates to the developmental environment.
MISRA C:2025 also covers C90, C99, and C11/C18; rationalizes and reorganizes existing guidelines for continuity; and adds new guidelines to MISRA C:2025 to give a total of 225 active guidelines.
MISRA C:2025 is part of a newer rolling-release model of development, rather than freestanding amendment documents, so that developers can better interact with the document and its iterations.
Back to topWhat Has Changed in MISRA C:2025?
New Rules
MISRA C:2025 includes 5 new guidelines. One of the more interesting new rules is Rule 19.3, which eases the use of unions by separating consistent use of one variant member, from a stricter enforcement against changing the active member which can be unsafe. This was originally a blanket rule, but regular "safe" use of this rule is now advisory only.
There are other new rules in MISRA C:2025 including rules regarding declarations and a rule extracting pointers from the Essential Type system to make it more coherent.
Rule Changes
Some of the existing rules have been extended. For example, the Pointer conversion rules (Rules 11.3, 11.4, 11.6) now account for the 'intptr_t' family, and there are now more possibilities for working with integers and the integer representation of addresses. Previous versions of the guidelines placed a blanket prohibition on address manipulation, which is essential for some low-level system features like pointer tagging.
Guidelines Reorganization
MISRA C:2025 reorganizes some of the guidelines to move rules into more appropriate categories and reorientate some between rules and directives. This reorganization effort builds a solid foundation for expansion in the next version.
Introducing Deleted and Disapplied Rules
For the first time, the new release introduces deleted and disapplied rules.
The rule numbers that have been deleted will not be reused in future versions. Therefore, there is no ambiguity that a tool signaling a violation of Rule 21.2 (which has been renumbered and therefore deleted from the release) for earlier versions will ever mean something different from the previous meaning in MSIRA C:2023.
This marks a significant milestone, as MISRA now recognizes that not every historical enforcement continues to provide value as analysis techniques and review philosophies develop. (The controversial Rule 15.5, for example, is being disapplied in MISRA C:2025.)
The new "disapplied" category also allows the user to reintroduce the rule if necessary.
Back to topEnforce MISRA Compliance With Perforce QAC
MISRA is constantly reviewing its rules and guidelines for both C and C++ languages. While each version is designed to make code safer and more secure, developers still need to understand the rules, check code for violations, and constantly monitor code for MISRA compliance.
Choosing the right static code analyzer accelerates MISRA compliance. Perforce Static Analysis tools QAC and Klocwork automatically scan code for rule violations and identify noncompliant code immediately, providing the opportunity to fix violations before the code goes into production.
Perforce QAC has a new compliance module that provides 100% coverage for MISRA C:2025, allowing you to meet and easily document MISRA C:2025 compliance.
See the Perforce QAC MISRA C:2025 compliance module in action. Request a custom demo today! Request Your Demo
Like what you see? Sign up for a free trial of Perforce QAC!