Googleは、複数のファジングツールの評価を自動化できるオープンソースソフトウェアであり、無料サービスである「FuzzBench」をリリースした。どのソフトウェアテストが優れているのか、判定しやすい。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Googleは2020年3月2日(米国時間)、ファジングツールの評価を自動化できるオープンソースソフトウェア(OSS)であり、無料サービスである「FuzzBench」をリリースした。ファジングツールの厳密な評価を容易に行えるようにし、ファジングによるバグ調査を導入しやすくする狙いだ。
ファジングは重要なソフトウェアテスト手法だ。「0」「null」「巨大な値」「不正な形式の値」「ランダムな値」「境界値」などさまざまな入力データを多数、ソフトウェアに与えることで、ソフトウェアが含むバグや脆弱(ぜいじゃく)性などをあぶり出すことができる。ファジング用の自動化ソフトウェアをファジングツールと呼ぶ。
Googleは「libFuzzer」や「AFL」のようなファジングツールを使って、数万件のバグを検出してきた。こうしたツールの改良(「MOpt-AFL」「AFLFast」など)が進んでおり、新しいバグ検出手法(「Driller」「QSYM」など)に関する多数の研究論文も発表されている。
課題もある。これらのツールは、その性能を評価、検証しにくいのだ。バグ検出性能を比較する際に、実際のプログラムを大量に使ったとしても、一般化できる形で検証することは難しい。
研究論文では通常、評価結果が示されているものの、評価方法に問題がある場合も少なくない。例えば、実際のプログラムを使ったさまざまなベンチマークセットを大規模に使用していなかったり、試行回数が少なかったり、試行時間が短かったり、統計テストが欠けていたりする、といった問題だ。
Copyright © ITmedia, Inc. All Rights Reserved.