当前位置: X-MOL 学术arXiv.cs.SE › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Evolutionary Conflict Checking
arXiv - CS - Software Engineering Pub Date : 2020-09-22 , DOI: arxiv-2009.10340
Tao Ji, Liqian Chen, Xiaoguang Mao, Xin Yi, Jiahong Jiang

During the software evolution, existing features may be adversely affected by new changes, which is well known as regression errors. Maintaining a high-quality test suite is helpful to prevent regression errors, whereas it heavily depends on developers. Continuously augmenting the existing test suite based on the new changes can assist developers in investigating the impact of these new changes. And by comparing the executions of the generated test case on two versions, existing techniques are able to detect some common errors. However, the requirements and oracles on the new changes with existing program behaviors are missing. In addition, the new changes may introduce new bugs when they are not sufficiently examined with other unchanged code, which finally fails to meet developers' real intentions on changes. In this paper, we propose the notion of evolutionary conflict checking to validate new changes. By extracting developers' intention reflected by new changes and transforming the linear evolutionary process into one three-way merge, we detect conflicts between existing behaviors and new changes. Our experimental results indicate that evolutionary conflict checking is able to be applied for guaranteeing software quality after changes.

中文翻译:

进化冲突检查

在软件演进过程中,现有功能可能会受到新变化的不利影响,这就是众所周知的回归错误。维护高质量的测试套件有助于防止回归错误,而这在很大程度上取决于开发人员。根据新更改不断扩充现有测试套件可以帮助开发人员调查这些新更改的影响。通过比较生成的测试用例在两个版本上的执行情况,现有技术能够检测到一些常见错误。但是,缺少对现有程序行为的新更改的要求和预言。此外,新的变更在没有与其他未更改的代码充分检查时可能会引入新的错误,最终无法满足开发人员对变更的真正意图。在本文中,我们提出了进化冲突检查的概念来验证新的变化。通过提取新变化反映的开发者意图,并将线性进化过程转化为三向合并,我们检测现有行为和新变化之间的冲突。我们的实验结果表明,进化冲突检查能够用于保证软件变更后的质量。
更新日期:2020-09-23
down
wechat
bug