  The MISRA project started in 1990 with the mission of providing world-leading
best practice guidelines for the safe and secure application of both embedded
control systems and standalone software. MISRA C is a coding standard defining
a subset of the C language, initially targeted at the automotive sector, but
now adopted across all industry sectors that develop C software in safety-
and/or security-critical contexts. In this paper, we introduce MISRA C, its
role in the development of critical software, especially in embedded systems,
its relevance to industry safety standards, as well as the challenges of
working with a general-purpose programming language standard that is written in
natural language with a slow evolution over the last 40+ years. We also outline
the role of static analysis in the automatic checking of compliance with
respect to MISRA C, and the role of the MISRA C language subset in enabling a
wider application of formal methods to industrial software written in C.
