MR-Scout:基于现有测试用例的蜕变关系自动合成
软件工程
2026-04-14 v5
摘要
蜕变测试(MT)通过基于蜕变关系(MRs)定义预言机来缓解预言机问题,这些关系支配多个相关输入及其输出。然而,设计MRs具有挑战性,因其需要领域特定知识。这阻碍了MT的广泛应用。我们观察到开发者编写的测试用例可嵌入编码了MRs的领域知识。此类编码的MRs可被合成,用于测试不仅其原始程序,还有共享相似功能的其他程序。本文提出MR-Scout,用于从开源软件(OSS)项目的测试用例中自动合成MRs。MR-Scout首先发现MR编码测试用例(MTCs),然后将编码的MRs合成为参数化方法(称为代码化MRs),并过滤掉用于新测试用例生成时质量较差的MRs。MR-Scout从701个OSS项目中发现了超过11,000个MTCs。实验结果表明,超过97%的代码化MRs对自动化测试用例生成具有高质量,证明了MR-Scout的实用适用性。此外,基于代码化MRs的测试有效增强了带有开发者编写测试的程序之测试充分性,分别带来13.52%与9.42%的行覆盖率与变异得分提升。我们的定性研究表明,55.76%至76.92%的代码化MRs对开发者易于理解。
引用
@article{arxiv.2304.07548,
title = {MR-Scout: Automated Synthesis of Metamorphic Relations from Existing Test Cases},
author = {Congying Xu and Valerio Terragni and Hengcheng Zhu and Jiarong Wu and Shing-Chi Cheung},
journal= {arXiv preprint arXiv:2304.07548},
year = {2026}
}
备注
accepted by TOSEM'24, and available at https://dl.acm.org/doi/abs/10.1145/3656340