In any high level language there are hundreds of instructions and constructs. Some of them are very easy to get wrong (especially in C and C++) so the coding standards were introduced to disallow the use of those error-prone functions and hence make the resulting code more likely to be error free. First released in 1998, MISRA C is one such coding standard.
The third version, MISRA C:2012 is subject to a policy of continuous improvement. Whether reflecting changes in the C language or changes in the nature of the applications to which it is applied, each of the revisions, amendments and supplementary documents have refined and enhances the core principles that underpinned the document upon its release in 2013, and still underpin it today. The result is a document that has embraced both the changing demands of connected systems and the ongoing revisions and updates to the C language itself.
LDRA have been influential in the creation and ongoing development of MISRA C, and has had strong representation on the working group responsible for it throughout its evolution, a position that is reflected in support for the standard in LDRA’s static analysis tools.