  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.
