变异测试研究中人工故障与真实故障的句法相似性与语义相似性比较
软件工程
2021-12-30 v1
摘要
故障植入通常用于受控研究中以评估和比较测试技术。这些技术的核心假设是人工植入的故障包含某种形式的现实属性,从而提供真实的实验结果。为了增强现实性,近期一条研究路线使用先进的机器学习技术,如深度学习和自然语言处理(NLP),来植入看起来像(句法上)真实故障的故障,这意味着故障现实性与句法相似性相关。这引发了一个问题:植入句法相似的故障是否确实产生语义相似的故障,更一般地说,句法不相似的故障是否在语义上远离真实故障。我们通过采用4种故障植入技术(PiTest——一种流行的变异测试工具,IBIR——一种具有手工构建故障模式的工具,DeepMutation——一种基于学习的故障植入框架,以及CodeBERT——一种使用代码嵌入的新型变异测试工具)来回答这个问题,并证明句法相似性并不反映语义相似性。我们还表明,Defects4J V2中60%、47%、43%和7%的真实故障分别在语义上被CodeBERT、PiTest、IBIR和DeepMutation故障所近似。然后我们对这些技术进行客观比较,发现CodeBERT和PiTest具有相似的故障检测能力,且包含IBIR和DeepMutation,而IBIR是性价比最高的技术。此外,PiTest、CodeBERT、IBIR和DeepMutation的总体故障检测率平均分别为54%、53%、37%和7%。
引用
@article{arxiv.2112.14508,
title = {Syntactic Vs. Semantic similarity of Artificial and Real Faults in Mutation Testing Studies},
author = {Milos Ojdanic and Aayush Garg and Ahmed Khanfir and Renzo Degiovanni and Mike Papadakis and Yves Le Traon},
journal= {arXiv preprint arXiv:2112.14508},
year = {2021}
}