Lockheed Martin、Praxis - C130Jミッションコンピュータ
ドメイン |
|
開発対象 |
|
国 |
|
開発組織 |
|
形式手法(言語、ツール) |
CoRE、SPARK (SPARK Examiner, SPADE Automatic Simplifier, SPADE Proof Checker)
|
適用範囲・規模(形式手法) |
|
適用対象のソフト種別 |
|
適用目的・工程 |
要求仕様(CoRE)、コード記述・検証 (SPARK)
|
実装言語 |
|
実装規模 |
|
効果 |
人手で行う場合は30日かかるようなバグの発見が、SPARK Examinerを利用することで1時間で発見できた。
|
(出典: Lockheed Martin社ウェブサイト)
詳細情報
検証内容
- CoREで記述された仕様とコードから、SPARKでProof Obligationを生成し、検証を行った。
- 多くの証明責務はSPADE Automatic Simplifierを用いて証明できた。残りはSPADE Proof Checkerを用いて対話的に証明した。
検証規模
期間
判断
形式手法を利用した動機
DO178BのレベルAへの準拠が要求されていた。ここでは、MC/DCテストカバレッジが要求されている。このテストは多大な時間を要するため、出来るだけ1回限りの実行で終わらせたいという動機があった。そのため、MC/DCテストを実行するまえに、全てのバグを発見しておく必要があった。
手法・ツール選択理由
- 本ドメインにおいて、SPARKは多くの導入事例があったため。
- ソフトウェアに多くの入力と出力がある場合は、CoREが適合しているため。
障害と工夫
- 効率よく検証を行うため、コードの構造をできるだけ単純化した。たとえば、事前定義のチェックなどをコードから削除した。
- プログラムユニットの実装及び検証を別々に実施した。
組織
体制
教育
その他
情報源
"Roderick Chapman, Industrial Experience with SPARK, ACM SIGAda Ada Letters - special issue on presentations from SIGAda 2000
Martin Croxford and James Sutton, Breaking Through the V and V Bottleneck, Lecture Notes in Computer Science, Vol 1031, 1996"
このページの先頭へ戻る