A Rationale-Based Classification of MISRA C Guidelines
Roberto Bagnara, Abramo Bagnara, Patricia M. Hill

TL;DR
This paper introduces a new rationale-based classification for MISRA C guidelines, enhancing understanding and adoption of the standard's preventive approach across various projects, including those not yet aiming for compliance.
Contribution
It proposes an orthogonal classification of MISRA C guidelines based on their main rationale, complementing existing classifications and aiding better implementation.
Findings
The new classification clarifies the purpose of each guideline.
It benefits projects without prior MISRA compliance.
It supports tailored application of MISRA C in diverse contexts.
Abstract
MISRA C is the most authoritative language subset for the C programming language that is a de facto standard in several industry sectors where safety and security are of paramount importance. While MISRA C is currently encoded in 175 guidelines (coding rules and directives), it does not coincide with them: proper adoption of MISRA C requires embracing its preventive approach (as opposed to the "bug finding" approach) and a documented development process where justifiable non-compliances are authorized and recorded as deviations. MISRA C guidelines are classified along several axes in the official MISRA documents. In this paper, we add to these an orthogonal classification that associates guidelines with their main rationale. The advantages of this new classification are illustrated for different kinds of projects, including those not (yet) having MISRA compliance among their objectives.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software Engineering Techniques and Practices
