Slide 7
Slide 7 text
ソフトウェアテスト自動化手法
❏ 動的解析 ( Dynamic Analysis )
対象プログラムに入力データを与え、実際に動作させながら解析、テストを行う
❏ Coverage-based Fuzzing
コードカバレッジの高い入力データを生成、利用する Fuzzing。 AFLやsyzkallerなどがある。
Charlie Miller, “Fuzzing with Code Coverage By Example” [ToorCon07]
❏ Conclic testing, Under-constrained symbolic execution
コードの分岐条件制約とした 充足可能性問題を解き実行経路を検出する。
この際、一部を実行して具体的な値を利用する事で計算量爆発に対処する。
Koushik Sen et al, “CUTE: A Concolic Unit Testing Engine for C” [ESEC13]
D.A. Ramos et al, “Under-Constrained Symbolic Execution: Correctness...” [USENIX15]