一句话:提出自动生成 concolic testing 搜索启发式的方法,通过参数化启发式搜索最优策略,提升覆盖率和缺陷发现。
Concolic testing 需要通过搜索启发式在有限时间预算内有效探索执行路径以提升覆盖率;但手工设计启发式困难,且常导致次优、不稳定结果。本文提出自动生成搜索启发式的方法:定义一类参数化启发式,并给出算法为每个被测程序高效寻找最优启发式。在开源 C 程序上的实验表明,自动生成的启发式在分支覆盖率和缺陷发现方面显著优于现有手工启发式。
We present a technique to automatically generate search heuristics for concolic testing. A key challenge in concolic testing is how to effectively explore the program's execution paths to achieve high code coverage in a limited time budget. Concolic testing employs a search heuristic to address this challenge, which favors exploring particular types of paths that are most likely to maximize the final coverage. However, manually designing a good search heuristic is nontrivial and typically ends up with suboptimal and unstable outcomes. The goal of this paper is to overcome this shortcoming of concolic testing by automatically generating search heuristics. We define a class of search heuristics, namely a parameterized heuristic, and present an algorithm that efficiently finds an optimal heuristic for each subject program. Experimental results with open-source C programs show that our technique successfully generates search heuristics that significantly outperform existing manually-crafted heuristics in terms of branch coverage and bug-finding.
DOI 原文 ·
@inproceedings{paperbot4406,
title = {Automatically generating search heuristics for concolic testing},
author = {Sooyoung Cha and Seongjoon Hong and Junhee Lee and Hakjoo Oh},
booktitle = {ICSE},
year = {2018},
doi = {10.1145/3180155.3180166}
}