MISRA C:2012 3rd Edition, 1st Revision?

April 15, 2019 Andrew Banks, MISRA C Working Group

Coming to Grips with the Terminology

In February of this year, MISRA published an updated version of the world-leading MISRA C guidelines – described as MISRA C:2012 3rd Edition, 1st Revision.

This terminology itself appears to have caused some confusion... so let’s take a closer look!

3rd Edition?

The MISRA “Guidelines for the use of the C language” (MISRA C) was first published in April 1998, with a second edition following in October 2004. Thus MISRA C:2012 is the third edition of the guidelines.

1st Revision?

Both MISRA C:1998 and MISRA C:2004 were subsequently re-issued to consolidate Technical Corrigenda.

For MISRA C:2012, following the publication of Amendment 1 (“Additional Security Guidelines”) and subsequently Technical Corrigendum 1, the MISRA C Working Group decided to consolidate these.

Given that this was a consolidation, an incremental update, the Working Group agreed that it was appropriate to identify the consolidated document as a Revision, rather than a new Edition.

Put simply:

  • MISRA C:2012 is the 3rd Edition of the MISRA C Guidelines
  • This is the first Revision of those MISRA C:2012 Guidelines

The Road Ahead

Having consolidated the existing increments, the MISRA C Working Group is now focused on producing enhancements that can address the undesirable features of ISO/IEC 9899:2011 (C11) and ISO/IEC 9899:2018 (C18).

About the Author

Andrew Banks is the current Chairman of the MISRA C Working Group. Approaching 30 years of experience in high-integrity software design and development, he is a Chartered Fellow of the British Computer Society, and is also active in the standards community.

In early 2018, Andrew joined Liverpool-based software company LDRA.


"MISRA" and "MISRA C" and the triangle logo are registered trademarks of HORIBA MIRA Limited, held on behalf of the MISRA Consortium.

Previous Article
Smart World of IoT– Cutting the Cord: The Power Supply Ones!

In this column, we are exploring power requirements and optimization of IoT design.

Next Article
Thread Synchronization in Linux and Windows Systems, Part 2

This article will be useful for those who have never programmed applications with multiple threads but plan...