(1/2)自動車の電子化が進展し、車載システムがより複雑になるにつれて、車載ソフトウェアの重要性はさらに高まっている。C:2012が2013年3月に発表された。C:2012における、従来版からのアップデート内容について解説する。});車載システムにおけるセーフティクリティカルな(安全性第一の)決定は、ますます車載ソフトウェアに依存するようになっている。それに合わせて、車載ソフトウェアの安全性に対するガイドラインが必須となってきた。C:2012)が発表されたので、本稿ではそのアップデート内容について解説する。C:1998)の初版は、車載ソフトウェアの信頼性がクリティカルな課題になった状況の中で、ソフトウェア設計に十分な経験のないエンジニアが待ち望んでいたガイダンスとなった。Cの利用者は、当初は英国の自動車業界だけに限られていたが、その後急速に広がり、車載ソフトウェアの品質に関する業界標準になった。C:2004)は、自動車業界における車載ソフトウェア開発のほとんどの場面で利用されている。プロセス産業などとともに民生応用も含まれる。堅牢性の高いプログラミングが不可欠なあらゆる分野だ。C:2012を策定したのには幾つか理由がある。C99のサポート、ユーザーからのフィードバックへの対応、改善可能性が確認されたこと、などだ。C:2012のアップデートで加わった変更は大まかに分けて4つある。enforcement)処理が可能なような拡張を施した定義の改善:包括的な説明と理論的根拠を含み、より厳密に定義した以下に、これら4つの変更について説明する。C99サポートC言語を用いたコーディングは現在も広く利用されており、特に信頼性が主要な関心事となるセーフティクリティカルなソフトウェアの開発で多用されている。C:2004を策定した2004年当時は、1999年に策定された最新のC言語の規格であるC99をサポートするコンパイラやツールがほとんどない状態だった。C:1998と同様に、1990年に策定されたC90(ANSIではC89)に準拠することとした。現在は、C99をサポートするための豊富なインフラが存在し、さまざまな知見も蓄積されている。C:2012の策定を始める段階で、C90への準拠を要求せず、C99のサポートを決めた。C99には、インライン関数や「_Bool型」のような便利な機能が追加された一方で、品質を確保しながらコーディングを行う上での新たな危険性がもたらされる可能性も出てきた。C:2012では、11のルールが新しく追加され、潜在的な危険性を有するC99の幾つかの新機能について使用が制限された。C:2004において、ルールは2つのカテゴリーに分けられていた。Rules)」である。Cに準拠したコーディングを行うためには、必要ルールに準拠しなければならない。deviation)を提出する必要がある。これに対して、推奨ルールは柔軟に定義されており、公式の逸脱説明書は要求されない。Rules)」が追加された。必須ルールは、逸脱説明書などによって準拠しないことが許されないもので、必ず準拠しなければならない。これは、必須ルールで指定されている内容が、準拠しないことを正当化できる状況がほとんど想定できないためである。C:2012のルールの比較。C:2012には143のルールと16の指令が存在する。LLC.ITmediaはアイティメディア株式会社の登録商標です。