中文

Cerebro:静态包含子突变体选择

软件工程 2022-03-02 v2

摘要

变异测试研究表明,其应用成本的主要部分源于其引入的大量低效用突变体。尽管先前的研究已识别出该问题,但尚无研究提出任何有效的解决方案。因此,如何以尽力而为的方式对给定代码进行变异和测试,即在投入精力与测试有效性之间取得良好权衡,仍不明确。为此,我们提出 Cerebro,一种基于突变体周围代码上下文静态选择包含子突变体(即位于包含层次结构顶端的突变体集合)的机器学习方法。我们使用分别用 C 和 Java 编写的 48 个和 10 个程序对 Cerebro 进行评估,并证明其保留了变异测试的优势,同时限制了应用成本,即减少了所有成本应用因素,如等价突变体、突变体执行以及需要分析的突变体。我们证明 Cerebro 具有强大的跨项目预测能力,显著高于两种基线方法,即基于最先进方法所提特征的有监督学习,以及随机突变体选择。更重要的是,我们的结果表明,在选择相同数量突变体的情况下,Cerebro 所选突变体产生的强测试分别能够杀死比基线所杀包含子突变体数量多 2 倍的突变体。同时,Cerebro 降低了成本相关因素,因为其平均选择的等价突变体比基线少 68%,而所需的测试执行次数比基线少 90%。

关键词

引用

@article{arxiv.2112.14151,
  title  = {Cerebro: Static Subsuming Mutant Selection},
  author = {Aayush Garg and Milos Ojdanic and Renzo Degiovanni and Thierry Titcheu Chekam and Mike Papadakis and Yves Le Traon},
  journal= {arXiv preprint arXiv:2112.14151},
  year   = {2022}
}