中文

用符号执行清除顽固变异体

软件工程 2020-01-10 v1

摘要

我们引入SeMu,一种动态符号执行(Dynamic Symbolic Execution)技术,可生成能清除顽固变异体(在合理测试量后仍未被检出的可清除变异体)的测试输入。SeMu旨在通过增量搜索原始与变异版本间分歧的程序行为,实现变异体传播(将错误状态触发至程序输出)。我们将变异体清除问题建模为程序符号树中特定区域内的符号执行搜索。在该框架中,搜索区域由参数定义与控制,从而实现可扩展且高性价比的变异体清除。我们将SeMu集成于KLEE,并在Coreutils(符号执行研究中常用基准)上实验。结果显示我们的建模在变异体清除中起重要作用。或许更重要的是,我们的结果还显示:在两小时时间限制内,SeMu清除了37%的顽固变异体,而KLEE清除0%,变异体感染策略(先前研究建议的策略)清除17%。

关键词

引用

@article{arxiv.2001.02941,
  title  = {Killing Stubborn Mutants with Symbolic Execution},
  author = {Thierry Titcheu Chekam and Mike Papadakis and Maxime Cordy and Yves Le Traon},
  journal= {arXiv preprint arXiv:2001.02941},
  year   = {2020}
}