投稿元:
レビューを見る
安全なシステムを書く際に、プログラムの検査は必要不可欠です。
特に、CPUに依存したプログラムを他のCPUに移植する際に気を付けるべきことが体系的に整理されてきませんでした。
CPUの規格がないため、その上で動作するC言語は、各CPUの仕様の違いを生かしたまま、効率的なソフトウェアを書けるようにしています。
その反面、CPUの仕様で公開されていない部分に関する動作が、C言語でどのように処理しているか公開されていない場合があります。
この本は、規則は自動車技術会で翻訳してテクニカルレポートして出版している部分を基礎にした改訂版ですが解説は独自の文章です。そのため、これは翻訳書ではないようです。
Cのコーディングガイドではありますが、スタイルに相当する部分はほとんどなく、その意味ではスタイルガイドではないようです。
この規則に従った方が安全でないプログラムが書けてしまう場合があるかもしれません。
そのため、逸脱の手続きを取ることの重要性をもっと強調してあるとよかったのかもしれません。
MISRA-Cの解説の本書では、サンプルプログラムがあるため、これを動くプログラムにすることによって、より内容を正確につかむことができるかもしれません。
ps.
GCCのようなオープンソースのコンパイラの出現により、移植性、可搬性の状況は変わるでしょうか。
C言語の国際規格への適合性の試験のプログラムはオープンソースでは公開されておらず、GCCの各CPUへの移植の度合いを正確に評価されているでしょうか。
関西学院大学では、SRAと協力して、GCCのTestSuiteを開発されています。
ルネサスのM32Rのシミュレーションは提供されていますが、他のCPUの対応はこれからのようです。
また、他のCPUのGCCの自動生成の研究もされているそうです。その結果の検証にGCC TestSuiteを用いているそうです。
GCC TestSuiteは、ISO/IEC9899の適合試験全部を網羅している訳ではないかもしれません。