Item type |
Journal(1) |
公開日 |
2024-05-15 |
タイトル |
|
|
タイトル |
Feedback-guided Fuzzingによる並行バグ探索 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Detecting Concurrency Bugs with Feedback-guided Fuzzing |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
[一般論文] ファジング,並行プログラム,並行バグ,自動バグ検出,ソフトウェアテスト |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_6501 |
|
資源タイプ |
journal article |
ID登録 |
|
|
ID登録 |
10.20729/00234153 |
|
ID登録タイプ |
JaLC |
著者所属 |
|
|
|
名古屋大学大学院情報学研究科 |
著者所属 |
|
|
|
名古屋大学大学院情報学研究科 |
著者所属 |
|
|
|
名古屋大学大学院情報学研究科 |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Informatics, Nagoya University |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Informatics, Nagoya University |
著者所属(英) |
|
|
|
en |
|
|
Graduate School of Informatics, Nagoya University |
著者名 |
伊藤, 弘将
松原, 豊
高田, 広章
|
著者名(英) |
Hiromasa, Ito
Yutaka, Matsubara
Hiroaki, Takada
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
並行バグは,特定のスレッドスケジューリングパターンでプログラムを実行した場合にのみ顕在化する.また,一般的な実行環境はスレッドを非決定論的にスケジュールするため,バグを踏んだ入力を再度与えてプログラムを実行しても,そのバグが再現するとは限らない.そのため,一般的なfuzzing手法で並行バグを探索するのは困難である.本研究は,feedback-guided fuzzingにより並行バグを探索する新たな手法を提案する.提案手法は,テスト対象プログラム(Program Under Test;PUT)を,fuzzerが生成したテストケースに基づき,決定論的に実行する.さらに,PUTの実行時に発生した共有メモリアクセスの順序を,fuzzerへフィードバックし,より効率的かつ効果的な並行バグ探索を試みる.並行バグ探索ツールの評価用ベンチマークスイートSCTBenchに含まれる19種類のプログラムをPUTとし,提案手法の有効性を評価した.結果として,提案手法は,単純なプログラムに対してはdumb fuzzingに劣ったものの,比較的複雑なプログラムに対しては,他の手法よりも効率的かつ効果的に並行バグを探索し,その有効性を発揮した.この結果は,複雑な実世界プログラムに対する提案手法の有効性を示唆するものである. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Concurrency bugs manifest only when a program runs under specific thread interleaving patterns. In addition, execution environments often schedule threads nondeterministically so that even if the program runs again with the input that manifested the bug, it will not necessarily reappear. Therefore, exploring concurrency bugs using general fuzzing methods takes much work. This research proposes a new method to explore for concurrency bugs with feedback-guided fuzzing. It deterministically executes the program under test (PUT) based on the test cases generated by the fuzzer. Furthermore, it feeds back the order of shared memory accesses during the execution of the PUT to the fuzzer to explore for concurrency bugs more efficiently and effectively. We evaluated the proposed method using 19 programs in SCTBench, a benchmark suite for evaluating concurrency bug detection tools. As a result, although the proposed method was inferior to dumb fuzzing for simple programs, it explored for concurrency bugs more efficiently and effectively than other methods for complex programs. The results suggest the effectiveness of the proposed method for more complex real-world programs. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AN00116647 |
書誌情報 |
情報処理学会論文誌
巻 65,
号 5,
p. 927-941,
発行日 2024-05-15
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
1882-7764 |
公開者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |