arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2002.06311cs.SEcs.LG
收藏

Legion:最佳第一Concolic测试

Legion: Best-First Concolic Testing

The University of Melbourne(墨尔本大学);LMU Munich(慕尼黑大学)

Dongge Liu, Gidon Ernst, Toby Murray, Benjamin I. P. Rubinstein

摘要:

Concolic执行和模糊是两种互补的基于覆盖率的测试技术。如何实现两者的最佳效果仍然是一个公开的挑战。为了解决这个研究问题,我们提出并评估军团。Legion重新设计了人工智能文献中的蒙特卡罗树搜索(MCTS)框架,将自动测试生成视为不确定性下的顺序决策问题。它的最佳优先搜索策略提供了一种原则性的方法来学习最有希望的程序状态,以在每次搜索迭代时进行调查,基于从先前迭代中观察到的奖励。军团采用了一种形式的定向模糊,我们称之为近似路径保持模糊(APPFuzzing)调查程序状态选择的MCTS。APPFuzzing作为蒙特卡洛模拟技术,并通过扩展约束采样的先前工作来实现。我们在Test-Comp 2020覆盖类别的2531个基准上评估了Legion与竞争对手的对比,并测量了其对超参数的敏感性,证明了其在各种输入程序上的有效性。

英文摘要:

Concolic execution and fuzzing are two complementary coverage-based testing techniques. How to achieve the best of both remains an open challenge. To address this research problem, we propose and evaluate Legion. Legion re-engineers the Monte Carlo tree search (MCTS) framework from the AI literature to treat automated test generation as a problem of sequential decision-making under uncertainty. Its best-first search strategy provides a principled way to learn the most promising program states to investigate at each search iteration, based on observed rewards from previous iterations. Legion incorporates a form of directed fuzzing that we call approximate path-preserving fuzzing (APPFuzzing) to investigate program states selected by MCTS. APPFuzzing serves as the Monte Carlo simulation technique and is implemented by extending prior work on constrained sampling. We evaluate Legion against competitors on 2531 benchmarks from the coverage category of Test-Comp 2020, as well as measuring its sensitivity to hyperparameters, demonstrating its effectiveness on a wide variety of input programs.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑