中文

Astor:在 GenProg 之外探索生成-验证式程序修复的设计空间

软件工程 2019-02-13 v3

摘要

近年来,研究人员提出了新颖的修复方法,可自动生成补丁以修复软件缺陷。修复方法可大致按主要设计理念分类,如生成-验证式或基于合成式。每种修复方法都是程序修复设计空间中的一个点。我们的目标是通过提供一个框架来促进修复方法的设计、开发和评估:a) 包含修复方法实现中普遍存在的组件,从而可在此基础上构建新方法;b) 提供已有修复方法的内置实现。本文提出一个名为 Astor 的框架,其涵盖了生成-验证式修复方法的设计空间。Astor 提供了构成程序修复显式决策空间的扩展点。基于这些扩展点,研究人员可复用现有组件或实现新组件。Astor 包含 6 种修复方法的 Java 实现,包括先驱之一 GenProg。研究人员已基于 Astor 定义新方法,利用扩展点提出对内置方法的改进,并在其评估中执行 Astor 中的方法实现。基于 Astor 构建的修复方法实现总共能够修复来自 5 个大型 Java 程序的 98 个真实缺陷。

关键词

引用

@article{arxiv.1802.03365,
  title  = {Astor: Exploring the Design Space of Generate-and-Validate Program Repair beyond GenProg},
  author = {Matias Martinez and Martin Monperrus},
  journal= {arXiv preprint arXiv:1802.03365},
  year   = {2019}
}