QP/C  7.3.0
Real-Time Embedded Framework
Loading...
Searching...
No Matches
MISRA-C:2023 Compliance

Guideline Enforcement Plan (GEP)

Purpose and Scope

This document (Unique Identifier: DOC-QPC-CSC) describes the compliance of the QP/C Real-Time Embedded Framework as well as the Application code based on this framework with the Motor Industry Software Reliability Association (MISRA) Guidelines for the use of the C Language in Critical Systems [MISRA3], [MISRA3-A1], [MISRA3-A2]. This MISRA-C compliance report is designed to be applicable to safety-related real-time embedded systems.

Remarks
This document is part of the QP Certification Kit, which has been specifically designed to aid companies in safety certification of their software based on the QP Framework treated as commercial off-the-shelf (COTS) software. Also, independently of the desired certification level, this MISRA Compliance report is a good source of information about the best coding practices used in development of QP/C Framework and highly recommended for QP Applications.

Revision History

The revision history of the document DOC-QPC-CSC is as follows:

Revision QP/C
version
Date
(YYYY-MM-DD)
By Description
1.0 5.0.0 2018-05-30 MMS Initial release for MISRA-C:2004
2.0 7.3.0 2023-06-30 MMS Initial release for MISRA-C:2023

     

About MISRA-C

MISRA C was originally developed to fulfill the need for a restricted subset of a standardized programming language identified in the 1994 “Development guidelines for vehicle based software” and against the background of the emerging use of C for developing embedded software in automotive applications. However, once MISRA C was published its relevance to other applications was quickly noted and subsequent revisions of the MISRA-C subset have involved a number of experts from different industries and from tool vendors.

MISRA-C:2023 Guidelines for the use of the C language in critical systems
Remarks
"MISRA", "MISRA-C" and the triangle logo are registered trademarks of MIRA Limited, held on behalf of the MISRA Consortium.

Today MISRA C is the de facto standard for developing software in C where safety, security and code quality are important. Future developments of MISRA-C will continue to extend support for newer versions of the language, and additional language features.

MISRA-C and Functional Safety

In the context of functional safety standards the full C programming language is generally not recommended. However, safer subsets of C, such as MISRA-C or CERT-C, are highly recommended, especially for higher SIL levels (see [IEC-61508-3] Table A.3, [IEC-61508-7] C.4.6 Table C.1).

MISRA-C as a safer subset of the C programming language

About MISRA Compliance of the QP/C Framework

The QP/C Framework has a long history of compliance with the MISRA-C Coding Standards. Earlier versions of QP/C were compliant with the MISRA-C:2004 Standards, see [QPC-MC2]. Starting with QP/C version 7.x, the framework was adapted for the C99 language standard and compliance with MISRA-C:2023 [MISRA4].

References

[MISRA4] MISRA C:2023 Guidelines for the use of the C language in critical systems (Third Edition, Second Revision),
ISBN 978-1-911700-08-1 (paperback), ISBN 978-1-911700-09-8 (PDF), MISRA Consortium Limited, April 2023
[MISRA-Comply] MISRA Compliance:2020 Achieving compliance with MISRA Coding Guidelines,
ISBN 978-1-906400-11-8 (PDF), MIRA Limited, February 2020
[ISO-C99] ISO/IEC 9899:1999, Programming languages — C, International Organization for Standarization, 1999
[PCLP] Reference Manual for PC-lint® Plus™ Version 2.0, A diagnostic facility for C and C++,
Vector Informatik
[PCLP-Cert] Using PCLP in Safety Critical Applications Version 2.0,
Vector Informatik
[BARR-C:2018] BARR-C:2018 Embedded C Coding Standard,
Michael Barr, ISBN-13: 978-1-72112-798-6, Barr Group 2018, (https://barrgroup.com/sites/default/files/barr_c_coding_standard_2018.pdf)
[Saks-1998] Dan Saks, "Programming Pointers - Placing const in Declarations", Embedded Systems Programming, June 1998, (https://www.dansaks.com/articles/1998-06%20Placing%20const%20in%20Declarations.pdf)
[PSiCC2] Practical UML Statecharts in C/C++, 2nd Edition, Event-Driven Programming for Embedded Systems,
Miro Samek, ISBN 978-0750687065, Newnes 2008 (https://www.state-machine.com/psicc2)
[QPC-MC2] Application Note: QP/C MISRA-C:2004 Compliance Matrix,
Quantum Leaps (https://www.state-machine.com/doc/AN_QP-C_MISRA.pdf)

Guideline Enforcement Plan (GEP)