Comments
Description
Transcript
2MB
日本におけるMISRA Cの普及と これからの発展 2015/10/14 二上貴夫 東陽テクニカ / [SESSAME/MISRAリエゾン] Copyright © 2015 TOYO Corporation. All Rights Reserved. お話の要点 C言語の産業史 コード品質の調査と現実 品質の向上活動とMISRA C 自動車業界での取り込み 標準の外側をカバーしよう Copyright © 2015 TOYO Corporation. All Rights Reserved. なぜ C言語 物理世界に一番近い言語 機械のIO C C++ C# Java 人の感覚 Long long history to reach long long 1970 K&R C 1980 ANSI C int life 1989 ISO C long life 1999 ISO C99 long long life Copyright © 2015 TOYO Corporation. All Rights Reserved. 石田晴久訳 K&R著 プログラミング言語C ANSI時代の何でやねんCプログラマ int16_t life=100, i=0; … life = life + foo( par[i], par[i++] ); 自分のマシンではちゃんと動作するのに 仲間のマシンでは発狂しちゃう、 文法通り書いてるのに、何でやねん? 1986 SCSIバス解析装置の組込みプログラミング Copyright © 2015 TOYO Corporation. All Rights Reserved. 80~90年代 Cと組込み開発現場 多様な組込みプロセッサが出現 IOインストラクション方式/メモリマップド方式 純ノイマンアーキテクチャ/ハーバードアーキテクチャ CISC / RISC 並列データフロー型 共通開発言語の必要性 仕様記述の半分は、“プログラムを読んでね” ワークステーションで開発、ターゲットに移植 性能は、C言語&プロセッサ専用表現で出す 開発チーム、企業が自前でコーディング規約 Copyright © 2015 TOYO Corporation. All Rights Reserved. 5 我、QACに出会う Cプログラムの問題指摘ツールは、国産でいくつかあったが高価 で買えない。 たまたま見かけたQACのパンフレットにはISO-9000と書いて あったし、無料で使える、ふふふっ。 実際に自分のCプログラムを分析してみると、 うゎー、なんやこれは!?!!?! Copyright © 2015 TOYO Corporation. All Rights Reserved. 90年代後半 私は測るのが好き 本気であれこれと測ってみた 人材活用でCコード解析センター発足 営業、ツールスミス、 Cコードアナリスト、 レポータ 200プロジェクト500万行のCプログラム 宇宙機、自動車、カーナビ、モータ制御、ゲーム、ケータイ、、、 勉強会しよう みんな共通の悩みがあるね、 勉強しよう 神棚に納めたコーディング規約 到達しないコード誕生 コンパイラと人によるSCM Copyright © 2015 TOYO Corporation. All Rights Reserved. 7 MISRA C開発と日本の接点 日本の自動車業界に起きた静かな危機 MIRA の予測が現実になる: C言語特性に起因するプログラム不具合は看過できない レベルに達する 自動車OEMメーカは、 自社開発でも部品メーカからの調達でも苦労 HONDA技術者がMISRA-C ‘97 委員会に参加 MISRA C – 邦訳 1999 初版 Copyright © 2015 TOYO Corporation. All Rights Reserved. 2000年~ 自動車業界での動き 自動車技術会の一連の活動 MISRAの開発ガイドラインをTP化 MISRA CをTP化 自動車工業会(OEMメーカの立場) MISRA Cにもとずいたコーディングガイドラインを策定 Copyright © 2015 TOYO Corporation. All Rights Reserved. MISRA C と MISRA C 研究会 NPO SESSAME で 研究会を発足 Deep understanding of MISRA C documentation Discuss rationale, scenarios & develop examples Publish as “Study book” Feedback recommendations to MISRA Copyright © 2015 TOYO Corporation. All Rights Reserved. 経産省といいつつ、IPAの調査では Compiler/Debugger Analyzer / Instrument Evaluation board IDE ICE Verification tool / Simulator Project management tool Static code Check tool Source code analysis tool SCM tool Test Support tool Analysis Design tool Document Management tool QM tool Code generation (*) Ministry of Economy, Trade & Industry [Japanese Dept of Commerce] Requirement management Numeric analysis Others 0% Copyright © 2015 TOYO Corporation. All Rights Reserved. 10% 20% 30% 40% 50% 60% 70% 80% 90% 今年の MISRA C 研究会 MISRA C-2012が研究テーマ • プログラミングの技能向上とプログラム品質の向上を目指す • ECUプログラマ, 大学研究者, コンパイラ開発者, システム技 術者など24名が参画 Copyright © 2015 TOYO Corporation. All Rights Reserved. 今後の課題 MISRA Cからの逸脱承認 - OEM各社の巨大な悩み サプライヤ各社のルール逸脱扱い方が多種多様で問題の温床に 特にTier2,3と層が進むと分散が激化 JAMA priority – work with MISRA to define a unified policy for Approved Deviation Compliance http://monoist.atmarkit.co.jp/mn/arti cles/1307/16/news015.html Copyright © 2015 TOYO Corporation. All Rights Reserved. 13 もう一つの研究会 SESSAMEでは、今年から より深い静的解析を行うための勉強会を開催 形式的検証のオープン技術を利用した高信頼テスト 技術の勉強が主眼 先々は、日本の半導体開発技術(VDEC)と組込み ソフトウェア技術(SESSAME)の組み合わせでブ レークスルーを期待 Copyright © 2015 TOYO Corporation. All Rights Reserved. 14 お役に立てば幸いです Questions? 質問は受けますが、 悩みは自分で解決しましょう [email protected] “I will make every effort to respond to your questions as time permits.” Copyright © 2015 TOYO Corporation. All Rights Reserved.