[Webinar] Discover what’s new in MISRA C++ 2023 with Andreas Weis

Hello everyone!

We are excited to announce we will host a webinar on MISRA C++ 2023 on Thursday, December 14th.

Phil Nash, Developer Advocate for C++ at Sonar will be joined by Andreas Weis, from the MISRA Working group, and together they will present a tour of the guidelines and improvements that come with this new version

Title: Discover what’s new in Misra C++ 2023, with Andreas Weis
Date and time: 2023-12-14T16:00:00Z
Speaker: @philsquared, Developer Advocate for C++, and Andreas Weis, MISRA Working Group

Register here for the session!

Not sure you can make it to the live event? Register here, and receive the recording after the webinar!

Hello everyone,

Thank you to all who joined our webinar yesterday! Find below the questions that have been asked during the session:

Q: When was this new standard published?
A: MISRA C++2023 was published in October. It is already published: MISRA

You can also buy a hardcopy on Amazon

Q: Are there guidelines targeting C++20/23 using ranges, concepts, co-routines and modules?
A: MISRA C++2023 only focuses on C++17. The intent is to incorporate C++20 in the next versions.

Q: Can I leverage MISRA 2023 rules in the IDE with Sonar?
A: Yes! Misra C++ 2023 rules (C++ static code analysis | misra-c++2023) are available in flavors of SonarLint (Linter IDE Tool & Real-Time Software for Code | Sonar) that support C++. Some of these rules may not be turned on by default but will be if you use the “Mission Critical” Quality Profile on SonarQube/SonarCloud and bind your project to SonarLint using connected mode.

Q: Are you working on C++20? I know you just came up with MISRA-C++ 2023 based on C++17. C++20 is a very large update with many useful features.
A: While MISRA C++:2023 won’t cover C++20, this will come in a future version (probably just in time for people to start asking: are you working on C++23!)

Q: Did you use the recommendations in the book “Embracing Modern C++ Safely” when creating MISRA-C++ 2023?
A: [Andreas Weis] Not that I know of. It was published in 2022 when we were already in the process of finalizing the MISRA C++23 document, not of introducing new rules.

Q: Was the rationale for one return for debugging?
A: [Andreas Weis] Not really. The idea originally came from a time before structured programming was widespread and writing in assembler was more common. In that context, the rule makes a lot of sense in avoiding complex, hard-to-reason-about, control flows that hide a lot of bugs. Structured programming languages obviated the need for this rule to exist, and following it can often make code harder to read than the alternative.

Q: Is there tooling for checking MISRA standards?
A: Yes. There are different tools. Sonar provides some support for MISRA 2008 and are in the process of upgrading to MISRA C++2023

Q: MISRA 2008 rules are still active in SonarQube. Will they be replaced by MISRA 2023 soon?
A: Many rules are already available for Misra 2023 — you can find them tagged here: https://rules.sonarsource.com/cpp/tag/misra-c++2023/

Q: Is Sonar going to be a certified tool to check this MISRA standard?
A: While we recognize the benefits of having dedicated reporting for compliance teams and full coverage of MISRA, that’s not where we’re headed today.

Q: When will the next version of the MISRA standard be published?
A: [Andreas Weis] We are just starting to work on the next version, so it’s too early to commit to any schedule. There are talks about yearly updates.

Q: Are there plans to introduce something similar to MISRA for C# -like the Philips standard?
There is no such effort within MISRA, and I’m not aware of anything outside. But you might want to look at what rules Sonar provides for C#.

A quick follow-up on this topic.
MISRA Compliance is coming for MISRA C++:2023

More details available there.