中文

MuRS:基于标识符模板的变异体排序与抑制

软件工程 2023-06-16 v1

摘要

基于差异的变异测试是一种仅对审查中受代码变更影响行进行变异的变异测试方法。Google 的变异测试服务将基于差异的变异测试集成到代码审查流程中,并持续收集开发者对审查期间浮现变异体的反馈。为提升开发者体验,该变异测试服务实现了一系列抑制规则,其针对无用的变异体——即一贯收到负面开发者反馈的变异体。然而,尽管有效,手动实现抑制规则需要大量的工程时间。一个自动对变异体进行排序与抑制的系统将有助于变异测试服务的维护。本文提出并评估了 MuRS,一种自动化方法,其根据被测源代码中的模式对变异体分组,并利用这些模式基于同组内变异体的历史开发者反馈对未来变异体进行排序与抑制。为评估 MuRS,我们进行了 A/B 测试研究,将 MuRS 与现有变异测试服务进行比较。尽管使用手动开发抑制规则的强基线,结果显示 MuRS 的负面反馈比率为 11.45%,而基线为 12.41%,统计上显著更低。结果还显示 MuRS 能够恢复基线中实现的现有抑制规则。最后,结果表明语句删除变异体组收到了最多正面与负面开发者反馈,提示需要额外上下文以区分这些组中有用与无用的变异体。总体而言,MuRS 有潜力通过自动学习抑制规则大幅降低高效变异测试服务的开发与维护成本。

关键词

引用

@article{arxiv.2306.09130,
  title  = {MuRS: Mutant Ranking and Suppression using Identifier Templates},
  author = {Zimin Chen and Malgorzata Salawa and Manushree Vijayvergiya and Goran Petrovic and Marko Ivankovic and Rene Just},
  journal= {arXiv preprint arXiv:2306.09130},
  year   = {2023}
}