case-study

2 posts

Metamorphic testingがGCCとLLVMで147件のコンパイラバグ、自動運転車の重大欠陥を発見した。その仕組みを解説する

Metamorphic testingはGCC、LLVM、Vulkanシェーダコンパイラ、ADASシミュレータで実際のバグを発見してきた。この記事では、その手法を実行可能なコードとともに解説し、あなたのテストスイートのどこに位置づけるべきかを示す。

Metamorphic testingはGCCとLLVMで147件の確認済みバグ、自動車OEMが使用する商用ADASシミュレータの欠陥、そして歩行者を轢き殺す8日前に自動運転車の認識システムにおいて致命的な欠陥を発見した。この手法は学術的に聞こえるが、バグは学術的ではない。 問題はoracle…

本当に1万行を零欠陥で検証した人がいるのか?IBMはやったし、その方法論は結果より奇妙だ。

Cleanroom software engineeringは、デバッグではなくmathematical verificationによって零欠陥のインクリメントを約束した。我々はIBMの実プロジェクトデータを見て、その主張が成り立ったかを確認する。

1980年代のソフトウェア業界平均は、1000行あたり30〜60の欠陥だった。IBMのCleanroomチームは、2万行のコンパイラインクリメントをテストで53の欠陥を発見した状態で出荷した。これはKLOCあたり2.6である。1万行の個別インクリメントの中には、システムテストで欠陥が全く見つからなかったものもあった。…