一句话:提出 FixKit,一个整合五种修复方法的 Python 自动程序修复框架,支持组件替换与比较。
自动程序修复近年在学术界广受关注:给定含缺陷程序与刻画预期行为的测试套件,修复方法需定位缺陷代码、生成候选补丁并在测试上验证。然而现有修复工具多针对 Java 或 C,作为最流行语言之一的 Python 却缺乏相应方法。本文提出 FixKit——一个面向 Python 的程序修复集合,内含五种修复方法,并提供可扩展框架,便于集成新修复方法、替换故障定位等独立组件。该框架使研究者能够在统一的技术集合上,以较低成本比较和研究各种修复、故障定位与验证方法。摘要未给出具体实验评估数据。
In recent years, automatic program repair has gained much attention in the research community. Generally, program repair approaches consider a faulty program and a test suite that captures the program’s intended behavior. The goal is automatically generating a patch that corrects the fault by identifying the faulty code locations, suggesting a candidate fix, and validating it against the provided tests. However, most existing program repair tools focus on Java or C programs, while Python, one of the most popular programming languages, lacks approaches that work on it.We present FixKit, a collection of five program repair approaches for Python programs. Moreover, our framework allows for easy integration of new repair approaches and swapping individual components, such as fault localization. Our framework enables researchers to compare and investigate various repair, fault localization effortlessly, and validation approaches on a common set of techniques.CCS Concepts• Software and its engineering → Software testing and debugging; Search-based software engineering; Genetic programming; Software libraries and repositories.