ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2021, Vol. 58 ›› Issue (1): 83-97.doi: 10.7544/issn1000-1239.2021.20190817

• 人工智能 • 上一篇    下一篇


于畅, 王雅文,林欢,宫云战   

  1. (网络与交换技术国家重点实验室(北京邮电大学) 北京 100876) (
  • 出版日期: 2021-01-01
  • 基金资助: 

Fault Detection Context Based Equivalent Mutant Identification Algorithm

Yu Chang, Wang Yawen, Lin Huan, Gong Yunzhan   

  1. (State Key Laboratory of Networking and Switching Technology (Beijing University of Posts and Telecommunications), Beijing 100876)
  • Online: 2021-01-01
  • Supported by: 
    This work was supported by the National Natural Science Foundation of China(U1736110, 61702044).

摘要: 等价变异体识别一直是阻碍变异测试在工业界得以广泛应用的一个关键难题.为此提出了一种基于故障检测上下文的等价变异体识别算法.该算法通过静态分析技术抽取程序中与故障检测条件相关的代码上下文信息,以构造故障检测上下文;接着,故障检测上下文被转换为文档模型,经过一个文档表示学习网络进行编码;最后通过机器学习模型将变异体分类为等价或非等价变异.在包含了22个C程序和118 000个变异体样本的训练集上,该算法取得91%的分类精准度和82%的召回率;同时在跨项目交叉验证中,机器学习模型取得了77%的精准度和78%的召回率.该结果表明基于故障检测上下文的识别技术能够有效地提高等价变异体分类的精准性和泛用性,为提高变异测试技术的有效性提供了技术支持.

关键词: 变异测试, 等价变异体, 故障检测上下文, 机器学习, 静态分析

Abstract: Although studied for almost forty years, the mutation testing has been prevented from being widely applied in industrial practice by the problem of equivalent mutants. To overcome the problem, a algorithm of using fault detection context to predict the equivalence of mutants is proposed. It makes use of static analysis technique to extract feature information about the program context around mutated program, which is called its fault detection context. Then the context information is translated into a document model, which describes the feature of mutant using natural language. The representation learning network is further used to encode fault context features. Finally, machine learning model is used to predict the equivalence of each mutant with respect to its fault detection context. An empirical study on 118000 mutants from 22 C programs is performed to validate the proposed method. The results show that the method achieves 91% of precision and 82% of recall in classifying mutants as equivalent, while 77% of precision and 78% of recall are achieved in cross-project validation. It implies the fault detection context based technique can dramatically improve the efficiency and effectiveness of equivalent mutants detection, which effectively facilitates the efficiency for mutation testing process.

Key words: mutation testing, equivalent mutant, fault detection context, machine learning, static analysis