MISRAが、MISRA C++:2023の技術正誤表1(Technical Corrigenda 1)を公開しました。ワーキンググループ自身の序文によると、TC1:2026には新しいガイドラインは含まれず、MISRA C++:2023と完全に同等です。その一方で、2023年の初版公開以降にワーキンググループ、ツールベンダー、ユーザーが見つけた曖昧さや問題が解消されています。
修正内容は用語からエッジケースまで
代表的な例が「代入(assignment)」という用語です。初版では、C++標準自体の定義と食い違う使い方をしていました。そこでMISRAは新たに「converting transfer」という用語を導入し、十数個のルールをこれに合わせて更新しています。
そのほか、広く使われている安全なC++パターンであるCRTPを意図せず排除していたルールが緩和されました。また、fwideや一時バッファ関数に関するルールの抜けといった細かなギャップも埋められています。
ワーキンググループが述べているとおり、ガイドライン上で何が準拠で何が非準拠かという判断は、今回の更新によって変わるものではありません。ただし、文言が明確になったことで、ツールのレポート結果が変わる場合があります。
TC1:2026のような正誤表は、MISRAコミュニティの実務経験が規格にフィードバックされる場です。現場で出てきた疑問やエッジケースが、ルールの文面そのものの中で解決されます。この循環があるからこそ、MISRAは日々これを使うチームにとって有用であり続けています。
Dr. Stefan Staiger-Stöhr
Qt Software Quality Solutions R&Dディレクター
MISRAワーキンググループメンバー
AxivionはMISRAのリリース当日にTC1:2026へ対応
安全が求められる開発では、MISRAへの追従は必須です。コンプライアンス対応ツールを、監査にいつでも耐えられる状態に保つことにもつながります。AxivionのMISRAチェッカーは、今回の更新を含め、現行のすべてのMISRA CおよびC++の版にそのまま対応しています。
Axivion MISRAチェッカーはこちら