Safer C++: MISRA-C++:202x Rules and Beyond

By Peter Sommerlad

C++ is a language of choice for implementing software for safety critical or modern embedded systems, however, since its inheritance of many C features and low-level and performance focus it allows for problematic code that still compiles.

Not only the risk of incorporating undefined behaviour and non-portability of implementation-defined behaviour can cause safety risks, but also developers misunderstanding the underlying rules of the language.

Limiting C++ to a safer core language is the goal of many guidelines in this talk we show rules of a safer subset of C++ for the automotive industry by MISRA-C++:202x.

Expect well-known stuff and surprising aspects to be addressed by such rules and what you will get as warnings from the corresponding static analysis tools.

However, we will also look at safer C++ design beyond MISRA-C++ rules, because such design issues usually cannot be checked by analysis tools, for example, the use of strong typing and mechanisms that ease following some of the rules, such as the use of sized integeger types.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.