演化冲突检测
软件工程
2020-09-23 v1
摘要
在软件演化过程中,现有特性可能受到新变更的负面影响,即众所周知的回归错误。维护高质量的测试套件有助于防止回归错误,但这严重依赖开发者。基于新变更持续扩充现有测试套件可协助开发者调查这些新变更的影响。通过对比生成测试用例在两个版本上的执行,现有技术能够检测一些常见错误。然而,关于新变更与现有程序行为的需求和预言(oracle)是缺失的。此外,当新变更未与其他未更改代码充分检验时,可能引入新缺陷,最终无法符合开发者对变更的真实意图。本文中,我们提出演化冲突检测的概念以验证新变更。通过提取新变更所反映的开发者意图,并将线性演化过程转化为三路合并,我们检测现有行为与新变更之间的冲突。实验结果表明,演化冲突检测能够应用于保障变更后的软件质量。
引用
@article{arxiv.2009.10340,
title = {Evolutionary Conflict Checking},
author = {Tao Ji and Liqian Chen and Xiaoguang Mao and Xin Yi and Jiahong Jiang},
journal= {arXiv preprint arXiv:2009.10340},
year = {2020}
}