HOMEソフトウェア高信頼化報告書・出版物・ツール事業成果(報告書等)【改訂版】「組込みソフトウェア開発向けコーディング作法ガイド ESCR [C++言語版] Ver. 2.0」の発行

本文を印刷する

ソフトウェア高信頼化

【改訂版】「組込みソフトウェア開発向けコーディング作法ガイド ESCR [C++言語版] Ver. 2.0」の発行

2016年10月18日
独立行政法人情報処理推進機構
技術本部 ソフトウェア高信頼化センター

概要

 IPA/SECは「組込みソフトウェア開発向けコーディング作法ガイドESCR [C++言語版]」の改訂版を6年ぶりに発行しました。今回の改訂で、言語規格C++11(*1)/C++14(*2)に準拠したため、新しい言語機能を利用したプログラム開発でのエラーの減少や、安全なソースコードの記述を効率的にできるようになります。また、ESCR [C言語版]とも整合性を取っており、C言語版の利用者にも統一したルールでシステム開発ができるようになっています。
 今回は、書籍版の発行と同時にPDF版および英語版(PDFのみでの提供)を公開いたします。

 英語版は、ESCR C++ Ver. 2.0を、オフショア開発などを行う際や海外の企業などでも利用できるよう、日本語版の内容構成をそのまま英語化したものです。(英文ページ

背景

 IPA/SECでは、組込み機器のソフトウェア開発において、高品質なソフトウェアを開発するために、ESxRシリーズとして、各種リファレンスを発行してまいりました。この度、ESxRシリーズの中のコーディング作法ガイドの最新版である、「組込みソフトウェア開発向けコーディング作法ガイドESCR [C++言語版]」の改訂版(Ver.2.0)を発行しました。これは、組込み機器のソフトウェア開発において、C++言語を用いて開発される組込みソフトウェアのソースコードの品質をより良いものとするために、コーディングする際の注意事項やノウハウをルール集としてまとめたものです。
現在のESCR [C++言語版]が準拠する言語規格は2003年版であり、普及してきているISO標準である「C++11/C++14」に準拠していませんでした。また、2013年にESCR [C言語版]を改訂しており、C言語版とC++言語版でルールや解説など整合の取れていない点も出ていました。そのため、新しい規格への準拠と、C言語とC++言語を使い分ける場合でも、混乱なく統一したルールでシステム開発ができるよう、改訂が求められていました。

本書の特徴

 今回の改訂では、エラーの防止に役立つ新たな言語機能が有効に利用できるように作法・ルールを修正・追加しているほか、新しい仕様に合わせて用語の修正を行っています。ESCRシリーズの特徴であるプログラミング初心者にも分かりやすい記述とし、規約の策定やコーディング技法、レビュー時に注意すべきポイントの説明などを盛り込んだ、プログラミング全般に関して役立つガイドとなっています。
IPA/SECが発表した「組込みソフトウェア開発データ白書2015」によると、約90%のシステムがC言語又はC++言語を用いていることから、今回の改訂により、組込みシステム全般において、ソフトウェアの出来不出来のばらつきを少なくすることや、明らかな誤りをコーディング段階やその後のレビューの段階で早期に除去できることが期待できるなど、品質及び信頼性全般の向上に大きく役立つものと考えています。

今後の展開

 今後は、CERT C(*3)のルールなどとの関連付け、セキュアコーディングに対応してルールや解説の追加、整理を実施する予定です。またIPA/SECはこれまでコーディングガイドの策定や改訂でMISRA(*4)と相互に協力してきましたが、今後とも連携を深め、言語規格の改訂に応じた見直しやレビューで協力を進めてまいります。

脚注

(*1)C++11:C++言語のISO標準(ISO/IEC 14882:2011 Programming Language-C++)の略称
(*2)C++14:C++言語のISO標準(ISO/IEC 14882:2014 Programming Language-C++)の略称
(*3)CERT C: C言語を利用してセキュアな製品開発を行うため、アメリカにあるインターネットセキュリティを扱う研究・開発センターCERT Coordination Center(CERT/CC)を中心に整備されたコーディング規約
(*4)MISRA:欧州の自動車業界団体(The Motor Industry Software Reliability Association)の略称

PDF版ダウンロード

ESCR C++ Ver.2.0(日本語版)のダウンロードの際に簡単なアンケートのご協力をお願いしています。
(アンケート入力後にダウンロードのリンクが表示されます)

購入

「ESCR C++ Ver.2.0」の購入は書籍ページよりご確認ください。