Price: $1,699.00

Length: 2 Days
Print Friendly, PDF & Email

MISRA-C Training

MISRA (the Motor Industry Software Reliability Association) provides guidelines for developing safety- and security-related electronic systems, embedded control systems, software-intensive applications, and standalone software.

The MISRA C standard includes code safety, portability, and reliability guidelines for the C programming language.

The first set of guidelines was released in 1998, which were specific to the C language. However, since then, the MISRA Consortium also develops coding standards for C++. Every MISRA C document contains a set of rules, noncompliant examples, and detailed sections on the background information that contributed to the development of said rules.

Although MISRA C is not a style guide, numerous rules also promote the writing of clear, readable maintainable code. This is very beneficial, as code that is straightforward to understand is much less likely to harbor subtle bugs or undefined behavior.

In the guidance, Rule 1.3 (“There shall be no occurrence of undefined or critical unspecified behavior.”) and Directive 4.1 (“Run-time failures shall be minimized.”) are of particular importance. Many of the most serious bugs in C arise from undefined behavior, such as:

  • Buffer overruns and underruns
  • Invalid pointer direction
  • Double close
  • Data races
  • Division by zero
  • Use of uninitialized memory

Experts contend it’s important to understand the steps that lead to MISRA compliance. This includes knowing the rules and checking your code constantly. Another step involves setting baselines.

Setting baselines is crucial because embedded systems come with legacy codebases. By setting baselines, you can focus on making sure your new code is compliant.

It’s also necessary to prioritize violations based on risk. In actuality you could have hundreds or even thousands of violations in your code. Therefore it’s important to prioritize rule violations based on risk severity. Some static code analysis tools can do this for you.

MISRA is a collaborative effort among vehicle manufacturers, component suppliers, and engineering consultancies.

MISRA-C Training Course by Tonex

MISRA-C Training is designed for C programmers, engineers and managers working on safety-critical applications for automotive, medical, military, aerospace, avionics,  or other life-critical applications. MISRA-C training covers the MISRA C:2012 guidelines to ensure safe coding practices can be achieved efficiently.  For example in avionics DO-178B/C compliance, developers have to practice coding techniques to be an integrated part of the requirements traceability for assurance and safety and mitigate liability and risk.

Motor Industry Software Reliability Association (MISRA) focuses on safety covering vulnerable to C’s limitations and ways to make C safer.

Learn about MISRA C as set of guidelines for software development promoting C programming language in safety-critical embedded applications with adoption and enforcement of coding standards within multiple domains. MISRA-C was originally was released in 1998 (MISRA C:1998)/C90, and the 2004 version (MISRA-C:2004) was designed to include a host of extensions and improvements to the original version.

Who Should Attend

  • Engineering Manager
  • Project Managers
  • Software Architect
  • Software Developers
  • Software Engineers
  • V&V Engineers
  • Project Managers
  • and anyone else need to learn the details about MISRA compliance

Learning Objectives

Upon completion of MISRA-C training, the attendees are able to:

  • Improve understanding of critical systems requirements using C language
  • Become familiar with MISRA C guidelines for the use of the C language in critical systems
  • Understand weaknesses and strength of C language applied to critical safety situations
  • Lean ways to use C safely in critical systems
  • Learn techniques and procedures to produce MISRA C compliant code
  • Apply best practices in your C development using MISRA-C guidelines
  • Understand improvements to reduce the cost and complexity of intended compliance
  • Learn about changes and new extensions in MISRA C:2012
  • Learn interpret the output of MIRS C;2012 checking tools

Course Agenda

Introduction

  • What is MISRA-C?
  • Motor Industry Software Reliability Association (MISRA) guidelines
  • Overview of coding safety and reliabiity principles
  • Introduction to MISRA-C guidelines
  • Key benefits of MISRA-C
  • MISRA standards for C programming language
  • What are MISRA-C rules?
  • Applying and best practices using MISRA-C rules
  • MISRA-C Categories
  • MISRA C: 99, MISRA C:2012 extensions and C language guidelines
  • MISRA-C:1998 or MISRA-C1 required and advisory rules
  • MISRA-C:2004 or MISRA-C2 required and advisory rules
  • MISRA-C:2012 or MISRA-C3 directives, mandatory, required and advisory rules

Introduction to MISRA C:2012

  • MISRA C99 and C11
  • MC3 project
  • Changes and summary of guidelines
  • ISO/IEC TS 17961:2013 “C Secure”
  • MISRA C:2012 conformance and compliance
  • MISRA C:2012 Tools
  • Improvements and rules definition
  • New directives on code design
  • New rules
  • Expressions
  • Standard libraries
  • Types of arithmetic expressions
  • essentially Boolean
  • essentially character
  • essentially enum
  • essentially signed
  • essentially unsigned
  • essentially floating
  • Mandatory rules
  • “Single Translation Unit” or “System”
  • Decidability
  • Applying systems engineering principles
  • User requirements
  • System analysis and design
  • Verification and Validation (V&V)
  • Operation and maintenance
  • MISRA security guidelines and conformance
  • Migration guidelines

Other Optional Topics and References

  • MISRA C:2012 – Technical Corrigendum 1: Technical clarification of MISRA C:2012, ISBN 978-906400-17-0, June 2017.
  • MISRA C:2012 – Addendum 2: Coverage of MISRA C:2012 against ISO/IEC TS 17961:2013 “C Secure”, ISBN 978-906400-15-6 (PDF), April 2016.
  • MISRA C:2012 – Amendment 1: Additional security guidelines for MISRA C:2012, ISBN 978-906400-16-3, April 2016.
  • MISRA Compliance 2016: Achieving compliance with MISRA coding guidelines, ISBN 978-906400-13-2, April 2016.
  • MISRA C:2004 Permits: Deviation permits for MISRA compliance, ISBN 978-906400-14-9 , Edition 1, April 2016.
  • MISRA AC INT: Introduction to the MISRA guidelines for the use of automatic code generation in automotive systems, ISBN 978-906400-00-2, November 2007.
  • MISRA AC GMG: Generic modelling design and style guidelines, ISBN 978-906400-06-4, May 2009.
  • Software Readiness for Production (SRfP), ISBN 0 9524156 8 2, March 2006.
  • MISRA C ADC: Approved deviation compliance for MISRA C:2004, ISBN 978-906400-09-5, February 2013.

MISRA Training

Request More Information

Please enter contact information followed by your questions, comments and/or request(s):
  • Please complete the following form and a Tonex Training Specialist will contact you as soon as is possible.

    * Indicates required fields

  • This field is for validation purposes and should be left unchanged.

Request More Information

  • Please complete the following form and a Tonex Training Specialist will contact you as soon as is possible.

    * Indicates required fields

  • This field is for validation purposes and should be left unchanged.