一句话:提出语法引导的编辑解码器,通过直接生成编辑操作并约束语法,提升神经程序修复的补丁正确性与效率。
自动程序修复旨在提升软件开发与维护效率。近期方法多采用深度学习,尤其是编码器-解码器架构来生成补丁;尽管编码器结构不断改进,解码器仍沿用标准方式,即逐个 token 生成以替换故障语句。这种解码器存在三个局限:可能生成语法不正确的程序、无法高效表示小编辑、不能生成项目特有标识符。论文提出语法引导的编辑解码器(syntax-guided edit decoder),以针对性地缓解这些问题。不过,给出的摘要未说明具体实现、实验设置与关键结果。
Automated Program Repair (APR) helps improve the efficiency of software development and maintenance. Recent APR techniques use deep learning, particularly the encoder-decoder architecture, to generate patches. Though existing DL-based APR approaches have proposed different encoder architectures, the decoder remains to be the standard one, which generates a sequence of tokens one by one to replace the faulty statement. This decoder has multiple limitations: 1) allowing to generate syntactically incorrect programs, 2) inefficiently representing small edits, and 3) not being able to generate project-specific identifiers.
DOI 原文 ·
@inproceedings{paperbot6440,
title = {A syntax-guided edit decoder for neural program repair},
author = {Qihao Zhu and Zeyu Sun and Yuan-an Xiao and Wenjie Zhang and Kang Yuan and Yingfei Xiong and Lu Zhang},
booktitle = {FSE},
year = {2021},
doi = {10.1145/3468264.3468544}
}