Evolutionary repair of faulty software

Evolutionary repair of faulty software
复制标题

DOI:
10.1016/j.asoc.2011.01.023
复制
发表时间:
2011-06
期刊:
Appl. Soft Comput.
影响因子:
--
通讯作者:
Andrea Arcuri
Andrea Arcuri
中科院分区:
其他
文献类型:
--
作者:
Andrea Arcuri

文献摘要

被引文献

相似文献

测试和故障定位是非常昂贵的软件工程任务,一直试图自动化。虽然已经设计了许多成功的技术,但实际上修改代码以修复发现的错误仍然是一项仅由人类完成的任务。即使在理想的情况下,自动化工具可以准确地告诉我们错误的位置,如何修复代码并不总是微不足道的。在本文中,我们分析了自动化修复故障的复杂任务的可能性。我们建议将此任务建模为搜索问题,因此使用例如进化算法来解决它。然后,我们讨论了这种方法的潜力,以及如何在未来解决其当前的局限性。这项任务极具挑战性,在文献中主要是未探索的。因此,本文只涵盖了初步的调查,并给出了未来的工作方向。最后给出了一个名为JAFF的研究原型和一个案例研究来首次验证该方法。
Testing and fault localization are very expensive software engineering tasks that have been tried to be automated. Although many successful techniques have been designed, the actual change of the code for fixing the discovered faults is still a human-only task. Even in the ideal case in which automated tools could tell us exactly where the location of a fault is, it is not always trivial how to fix the code. In this paper we analyse the possibility of automating the complex task of fixing faults. We propose to model this task as a search problem, and hence to use for example evolutionary algorithms to solve it. We then discuss the potential of this approach and how its current limitations can be addressed in the future. This task is extremely challenging and mainly unexplored in the literature. Hence, this paper only covers an initial investigation and gives directions for future work. A research prototype called JAFF and a case study are presented to give first validation of this approach.