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