ASE 2023
Mon 11 - Fri 15 September 2023 Kirchberg, Luxembourg
Wed 13 Sep 2023 11:18 - 11:30 at Room C - Program Repair 1 Chair(s): Arie van Deursen

Automated program repair (APR) aims to fix software bugs without human intervention and template-based APR has been widely investigated with promising results. However, it is challenging for template-based APR to select the appropriate donor code, which is an important repair ingredient for generating candidate patches. Inappropriate donor code may cause plausible but incorrect patch generation even with correct fix patterns, limiting the repair performance. In this paper, we aim to revisit template-based APR, and propose GAMMA, to directly leverage large pre-trained language models for donor code generation. Our main insight is that instead of retrieving donor code in the local buggy file, we can directly predict the correct code tokens based on the context code snippets and repair patterns by a cloze task. Specifically, (1) GAMMA revises a variety of fix templates from state-of-the-art template-based APR techniques (i.e., TBar) and transforms them into mask patterns. (2) GAMMA adopts a pre-trained language model to predict the correct code for masked code as a fill-in-the-blank task. The experimental results demonstrate that GAMMA correctly repairs 82 bugs on Defects4J-v1.2, which achieves 20.59% (14 bugs) and 26.15% (17 bugs) improvement over the previous state-of-the-art template-based approach TBar and learning-based one Recoder. Furthermore, GAMMA repairs 45 bugs and 22 bugs from the additional Defects4J-v2.0 and QuixBugs, indicating the generalizability of GAMMA in addressing the dataset overfitting issue. We also prove that adopting other pre-trained language models can provide substantial advancement, e.g., CodeBERT-based and ChatGPT-based GAMMA is able to fix 80 and 67 bugs on Defects4J-v1.2, indicating the scalability of GAMMA. Overall, our study highlights the promising future of adopting pre-trained models to generate correct patches on top of fix patterns.

Wed 13 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:30 - 12:00
Program Repair 1Tool Demonstrations / NIER Track / Journal-first Papers / Research Papers at Room C
Chair(s): Arie van Deursen Delft University of Technology
10:30
12m
Talk
Adonis: Practical and Efficient Control Flow Recovery through OS-Level Traces
Journal-first Papers
Xuanzhe Liu Peking University, Chengxu Yang Peking University, Ding Li Peking University, Yuhan Zhou Peking University, Shaofei Li Peking University, Jiali Chen Peking University, Zhenpeng Chen University College London
10:42
12m
Talk
BUGSC++: A Highly Usable Real World Defect Benchmark for C/C++
Tool Demonstrations
Gabin An KAIST, Minhyuk Kwon Suresoft Technologies, Kyunghwa Choi Suresoft Technologies, Jooyong Yi UNIST (Ulsan National Institute of Science and Technology), Shin Yoo KAIST
Link to publication Pre-print File Attached
10:54
12m
Talk
Better patching using LLM prompting, via Self-Consistency
NIER Track
Toufique Ahmed University of California at Davis, Prem Devanbu University of California at Davis
Pre-print
11:06
12m
Talk
The Plastic Surgery Hypothesis in the Era of Large Language Models
Research Papers
Chunqiu Steven Xia University of Illinois at Urbana-Champaign, Yifeng Ding University of Illinois at Urbana-Champaign, Lingming Zhang University of Illinois at Urbana-Champaign
Pre-print
11:18
12m
Research paper
GAMMA: Revisiting Template-based Automated Program Repair via Mask Prediction
Research Papers
Quanjun Zhang Nanjing University, Chunrong Fang Nanjing University, Tongke Zhang Nanjing University, Bowen Yu Nanjing University, Weisong Sun Nanjing University, Zhenyu Chen Nanjing University
Pre-print Media Attached
11:30
12m
Talk
ExpressAPR: Efficient Patch Validation for Java Automated Program Repair Systems
Tool Demonstrations
Yuan-An Xiao Peking University, Chenyang Yang Peking University, Bo Wang Beijing Jiaotong University, Yingfei Xiong Peking University
Media Attached File Attached