基于源代码自然语言通道的预测式变异分析
软件工程
2022-09-15 v2
摘要
变异分析能为被测系统(SUT)及其测试套件提供有价值的见解。然而,由于构建和测试大量变异体的成本,它不具备可扩展性。预测式变异测试(PMT)被提出以降低变异测试的成本,但它只能就某个变异体是否会被整个测试套件杀死提供统计推断。我们提出 Seshat,一种预测式变异分析(PMA)技术,可准确预测整个杀死矩阵,而不仅仅是给定测试套件的变异分数。Seshat 利用代码中的自然语言通道,并从给定的杀死矩阵中学习每个测试用例的句法与语义概念同其所能杀死的变异体之间的关系。所学模型随后可用于预测程序后续版本的杀死矩阵,即便在源代码与测试代码均发生显著变化之后。使用 Defects4J 中程序的实证评估表明,Seshat 对相隔可达数年的版本预测杀死矩阵的平均 F 值为 0.83。相较最先进的预测式变异测试技术与简单的基于覆盖的启发式方法,F 值分别提升 0.14 与 0.45 个点。Seshat 在仅预测变异分数方面也表现与 PMT 相当。一旦 Seshat 使用具体变异分析训练好模型,其后续预测平均比实际基于测试的分析快 39 倍。
引用
@article{arxiv.2104.10865,
title = {Predictive Mutation Analysis via Natural Language Channel in Source Code},
author = {Jinhan Kim and Juyoung Jeon and Shin Hong and Shin Yoo},
journal= {arXiv preprint arXiv:2104.10865},
year = {2022}
}