Misra C 2012: What's New and Why You Should Care
For the first two editions of MISRA-C (1998 and 2004) all Guidelines were considered as Rules. With the publication of MISRA C:2012 a new category of Guideline was introduced - the Directive whose compliance is more open to interpretation, or relates to process or procedural matters.
Misra C 2012 Download Pdf
Each Guideline is classified as Mandatory (new for MISRA C:2012), Required or Advisory. Furthermore, the MISRA Compliance document permits Advisory guidelines to be Disapplied.
In 2013, the third edition, MISRA C:2012, was published. MISRA C:2012 extends support to the C99 version of the C language (while maintaining guidelines for C90), in addition to including a number of improvements that can reduce the cost and complexity of compliance, whilst aiding consistent, safe use of C in critical systems.
MISRA-C:2012 contains 143 rules and 16 "directives" (that is, rules whose compliance is more open to interpretation, or relates to process or procedural matters); each of which is classified as mandatory, required, or advisory. They are separately classified as either Single Translation Unit or System. Additionally, the rules are classified as Decidable or Undecidable.
In February 2020, MISRA published (as a free download) MISRA C:2012 - Amendment 2: Updates for ISO/IEC 9899:2011/18 Core functionality which adds mapping for the undefined, unspecified and implementation defined behaviours within C11/C18.
An exemplar suite (for MISRA-C:2004 and MISRA C:2012) is available from the MISRA GitLab repository (login required). This allows tool-users to evaluate and compare the checking support provided by the various MISRA tools; additionally, it gives tool-implementers some guidance as to the intent of the MISRA Guidelines.
5 Foreword An updated edition of the C Standard, commonly referred to as C11, was released just as MISRA C:2012 was being prepared for publication, meaning it arrived too late for the MISRA C Working Group to take it into consideration. As the adoption of C11 has become more widespread, the MISRA C Working Group have decided that it is now time to address this new edition of the C Standard, support for which will be implemented by means of a series of amendments to MISRA C:2012. This document amends MISRA C:2012 as required to introduce support for ISO/IEC 9899:2011. Subsequent amendments will be used to introduce specific guidance for the features introduced by ISO/IEC 9899:2011. In the three years since its publication, the additional guidance provided by MISRA Compliance has been increasingly adopted. The MISRA C Working Group have decided that now is the time to upgrade this guidance from optional to be an integral part of the MISRA C lifecycle. Therefore, this document amends MISRA C:2012 to do that. We trust that this amendment will be welcomed by the community at large, and will offer confidence to projects and organizations who have held off migrating to C11. Andrew Banks FBCS CITP Chairman, MISRA C Working Group iii
8 1 Overview 1.1 Applicability This amendment is compatible with either: 1. MISRA C:2012 (3 rd Edition, 1 st Revision) , or 2. MISRA C:2012 (3 rd Edition)  as corrected and amended by: MISRA C:2012 Technical Corrigendum 1 , and MISRA C:2012 Amendment 1  1.2 C language updates This document amends MISRA C:2012  to reference ISO/IEC 9899:2011  with the effect that: 1. ISO/IEC 9899:2011  is now supported by MISRA C:2012 . 2. When using ISO/IEC 9899:2011 , the following features may be used subject to restrictions within the Guidelines: Additional floating-point characteristic macros (float.h) Unicode characters and strings (uchar.h) Static assertions Anonymous structures and unions (note that use of unions violates Rule 19.2) Support for opening files for exclusive access aligned_alloc (note that use violates Dir 4.12 and Rule 21.3) at_quick_exit, quick_exit (note that use of quick_exit violates Rule 21.8) timespec_get (note that use violates Rule 21.10) 3. When using ISO/IEC 9899:2011 , use of the following features is prohibited without the support of a deviation against Rule 1.4: Type generic expressions No-return functions Support for multiple threads of execution (stdatomic.h, threads.h) Alignment of objects (stdalign.h) Bounds-checking interfaces Notes: 1. ISO/IEC 9899:2018  incorporates corrigenda applicable to ISO/IEC 9899:2011 . As such, it is functionally equivalent to ISO/IEC 9899:2011  and is therefore also supported through this amendment. 1
MISRA-C:2012 Standards Model Summary for C / C++ The LDRA tool suite is developed and certified to BS EN ISO 9001:2000. This information is applicable to version 9.4.2 of the LDRA tool suite. It is correct
ISO/IEC 20000-2:2012 AS ISO/IEC 20000.2 2013 Australian Standard Information technology Service Part 2: Guidance on the application of service systems This Australian Standard was prepared by Committee
How Many Business Management Systems do we Need? Hunterston A, 26 September 2012 The new ISO standard Standard Template Graham Watson Integre Ltd. Outline Background to Annex SL ISO/IEC directives TMB
ENGINEERING COMMITTEE Digital Video Subcommittee SCTE 20 2012 METHODS FOR CARRIAGE OF CEA-608 CLOSED CAPTIONS AND NON-REAL TIME SAMPLED VIDEO NOTICE The Society of Cable Telecommunications Engineers (SCTE)
AIMMS Tutorial for Professionals - Absentee and Planning Overviews This file contains only one chapter of the book. For a free download of the complete book in pdf format, please visit www.aimms.com Aimms
This document amends MISRA C:2012 as required to introduce support for ISO/IEC 9899:2011. Subsequent amendments will be used to introduce specific guidance for the features introduced by ISO/IEC 9899:2011
This document contains an updated mapping, following the publication of MISRA C:2012 Amendment 1, of MISRA C coverage of the "C Secure" requirements and shows that for freestanding applications, MISRA C has excellent coverage of the "C Secure" requirements.
Since the publication of MISRA C:2012 and its adoption by industry and the wider C community, a number of issues have arisen, both from discussions within the MISRA C Working Group and in response to feedback via the MISRA C Forum on the bulletin board.
MISRA AC INT gives an introduction to the MISRA AC family of guidelines. Please note, this document is a free download from the "Resources" section of the MISRA Bulletin Board and is not available from the web store.
This document is the previous version of MISRA C (MISRA C:2004). This document (Edition 2, July 2008) now incorporates the text of Technical Corrigendum 1. For more details please visit the MISRA C section of this website. MISRA C:2012 (see above) should be used for all new projects.
This document is the original version of MISRA C. It remains available for legacy projects that need to refer to it, but MISRA C:2012 (see above) should be used for all new projects.This new PDF release incorporates the Technical Clarification document of July 2000 as an appendix, in addition to the text of the 1998 MISRA C guidelines.
Both the HAL and LL APIs are production-ready and have been developed in compliance with CodeSonar, MISRA C:2012 guidelines and ISO/TS 16949. Furthermore, STMicroelectronics specific validation processes add a deeper-level qualification.
The guidelines used are the MISRA-C:2012 guidelines, developed by the Motor Industry Software Reliability Association (MISRA) for the use of the C language in vehicle based software (www.misra.org.uk). However, these guidelines are applicable to any project using C that has safety requirements or the need to develop high quality code. The MISRA-C:2012 guidelines are suitable for projects up to Safety Integrity Level (SIL) 3.
[IETF: RFC 6520] Internet Engineering Task Force (IETF). Request for Comments 6520: Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension. February 2012.