metamorphic-testing

4 posts

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

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

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

LLMはMetamorphic Relationsを提案できる。しかし保証はできない。

大規模言語モデルはtest oracleの発見において悪くないブレインストーミングパートナーだが、性質を幻覚し、ドメイン制約を見落とす。それらを、怪しいテストをリリースすることなく使う方法を解説する。

事前に正しい出力がわからない関数をテストする必要がある。経路最適化器、感情分類器、物理シミュレーション。Metamorphic testingについて読んだ:入力と出力の間に成り立つはずのrelationを見つけ、正確な値の代わりにそれらのrelationをテストするのだ。…

多くのMetamorphic Relationsは役に立たない。優れたものを選ぶ方法。

すべてのmetamorphic relationsがバグを捉えるわけではない。弱いrelationは虚偽の自信を与え、強いrelationだけが本当の欠陥を見つける。どう違いを見分け、実際に機能するrelationセットを構築するかを解説する。

価格設定エンジン向けに12個のmetamorphic relationsを書いた。すべてのテストが通過した。カバレッジに自信を持っている。…

正解がわからないコードはどうテストする?

Metamorphic testingを使えば、正しい出力が何かを知らなくてもコードの正しさを検証できる。その仕組み、限界、そして使い始める方法を解説する。

機械学習モデルをリリースした。サポートチケットにラベルを付与するものだ。テストスイートはグリーンだ。すべてのテストが通過した。…