- スペシャル
- 2016/01/05 掲載
組込み機器向けのコーディングに「MISRA C」が効果的な理由
- ありがとうございます!
- いいね!した記事一覧をみる
MISRA Cのルールがもたらす数多くのメリット
宇野氏が所属するMISRA-C研究会は、「MISRA Cを正しく理解し、実用的な形でまとめ、日本の組込み業界に紹介する」という目的で2002年に設立。参加メンバーは、規格の専門家やコンパイラ開発者、組込みソフトウェア開発者などで構成されている。
もちろん宇野氏も、かつてパナソニックで、長年にわたりマイコン開発環境やCコンパイラなどの開発に従事してきた人物だ。東陽テクニカ主催のイベント「QAC User's Meeting 2015」に登壇した宇野氏は「MISRA Cが登場した当初、厳格なルールが多くあり、従来のC言語で開発するよりも大変という印象を持たれた方がいるかもしれない。しかし、そこにはポジティブな意図がある」と説明する。
ここでいうポジティブな意図とは、まずMISRA Cのルールを守ってC言語を記述すれば、安全なコードが書けるということだ。たとえば最初に自動変数の初期化をせずにコードを書き始めてしまうと、MISRA-Cではルール違反になる。
しかし、これをGCCにかけると、何事もなくソースがコンパイルされ、オブジェクトがつくれてしまう。次にソースコード静的解析ツール「QA・C」により問題点を調べると、「ルールに違反している」というメッセージが出る。「たとえGCCでコンパイルされても、それは安全なコードとは必ずしも言えません。MISRA Cに従って記述することによって、安全性が高くなるのです」。
同様に、MISRA Cのルールを守っていれば、記述のミスも防げる。たとえば「==」と「=」、「&」と「&&」は意味が違うものだが、うっかり記述ミスをしてしまうこともある。しかし、これでもプログラム的には動いてしまう場合もあり、誰かが間違えて記述すると、あとあとまでバグが残ってしまう。「MISRA Cを使っていれば、こういったミスはルールに不適合になるため、きちんと問題が取り除かれます」。
またMISRA Cならば、最終的に誤解されずに読みやすいコードになり、よい作法が身につくということもメリットと言える。
【次ページ】MISRA Cは、安全で分かりやすく、保守性が高い
関連コンテンツ
PR
PR
PR