The Motor Industry Software Reliability Association (MISRA) is an organization that produces guidelines for the software developed for electronic components used in the automotive industry.[1] It is a collaboration between numerous vehicle manufacturers, component suppliers and engineering consultancies.
Aim
The aim of this organization is to provide advice in questions of quality assurance mainly to the automotive industry for the creation and application of safe, reliable software within vehicles.[2] The mission statement of MISRA is "To provide assistance to the automotive industry in the application and creation within vehicle systems of safe and reliable software".[3] The safety requirements of the software used in control units of Automobiles is specific as compared to that of other industries and devices.
MISRA creates, reviews and publishes (sells) standards, such as the MISRA C Coding Standard for the C programming language, first published in 1998.
History
MISRA was formed in the 1990s by a consortium of organizations formed in response to the UK Safety Critical Systems Research Programme. This program was supported by the Department of Trade and Industry and the Engineering and Physical Sciences Research Council. Another program was "SafeIT".
Subsequently MISRA published its first guide, "Development guidelines for vehicle based software", which is considered a foundational element of functional safety by the engineering community. This was roughly ten years before the creation of the ISO 26262 standard.
Organization (MISRA Consortium)
Since 2021, MISRA is managed by the MISRA Consortium Limited, an independent not-for-profit entity.[4][5]
The Steering Committee is as follows (2024).
Steering Committee
Former members are: Protean Electric Ltd[6]
Activities
According to MISRA, the following activities are pursued:
- MISRA Autocode
- MISRA C
- MISRA C++
- MISRA Safety Argument
- Functional Safety
Guidelines
MISRA guidelines are a set of development guidelines to ensure safe and reliable development of control software for electronic control units (ECUs). The primary focus of the MISRA guidelines is error prevention, not programming style. Among other things, the guidelines are intended to guide and support the following objectives
- Ensure safety
- Ensure security[7]
- Bring in robustness, reliability to the software
- Human safety must take precedence when in conflict with security of property
- Consider both random and systematic faults in system design
- Demonstrate robustness, not just rely on the absence of failures
- Application of safety considerations across the design, manufacture, operation, servicing and disposal of products
As with many standards (for example, ISO, BSI, RTCA), the MISRA guideline documents are not free to users or implementers.[8]
Coding guidelines
MISRA guidelines are primarily focused and derived for the C and C++ programming languages. The main standard is known as "MISRA C" and has been updated several times.
Table 1: Overview of MISRA guidelines C/C++
Language
|
Standard (year)
|
Exact specifier
|
Edition
|
Incremental Updates
|
Features
|
C
|
1998
|
MISRA C:1998
|
1st
|
-
|
Original guidance emerging from the automotive industry.
|
2004
|
MISRA C:2004
|
2nd
|
-
|
Add user feedback and cross-industry applications
|
2012
|
MISRA C:2012
|
3rd
|
-
|
Add support for C99 language features, improved strong typing model, analysis keywords
|
2019
|
MISRA C:2019
|
|
1st Revision based on MISRA C:2012 (3rd) with amendment 1 (AMD1) and technical corrigendum 1 (TC1)
|
Add additional security guidelines
|
2023
|
MISRA C:2023
|
|
2nd Revision based on MISRA C:2012 (3rd) with AMD2, AMD3, and AMD4, plus TC2
|
Add C11 and C18 language features
|
|
|
2008
|
|
|
|
Initial launch of standard
|
C++
|
2023
|
MISRA C++:2023
|
|
|
Guidelines for the use C++17 in critical systems
|
See also
Weblinks
Official website
References