变质关系优先级排序以降低测试成本
软件工程
2022-09-02 v1
摘要
Oracle 是一种判定程序对被执行测试用例的输出是否正确的机制。对于机器学习程序,这样的 oracle 不可用或过于难以应用。变质测试是一种利用变质关系的测试方法,变质关系是被测软件的必要性属性,用以辅助验证程序的正确性。变质关系的优先级排序有助于降低变质测试的成本[1]。然而,基于代码覆盖率对变质关系进行优先级排序,对于机器学习程序的 MR(变质关系)优先级排序通常无效,因为机器学习模型的决策逻辑是从训练数据中学习得到的,且单个测试输入即可轻松达到 100% 代码覆盖率。为此,在这项工作中,我们提出一种基于源数据集与后续数据集多样性的经济高效方法,对机器学习程序的变质关系进行优先级排序。我们表明,与基于代码覆盖率的方法相比,所提出的数据多样性优先级排序方法将故障检测有效性提高了至多 40%,并且与随机执行 MR 相比,将检测到一个故障所需的时间减少了 29%。总体而言,我们的方法在测试过程中节省了时间与成本。
引用
@article{arxiv.2209.00162,
title = {Prioritization of Metamorphic Relations to reduce the cost of testing},
author = {Madhusudan Srinivasan and Upulee Kanewala},
journal= {arXiv preprint arXiv:2209.00162},
year = {2022}
}
备注
arXiv admin note: substantial text overlap with arXiv:2109.09798