Tue 5 Dec 2023 11:00 - 11:15 at Golden Gate C3 - Automated Repair I Chair(s): Shin Hwei Tan

Automatic program repair (APR) is crucial to reduce manual debugging efforts for developers and improve software reliability. While conventional search-based techniques typically rely on heuristic rules or a redundancy assumption to mine fix patterns, recent years have witnessed the surge of deep learning (DL) based approaches to automate the program repair process in a data-driven manner. However, their performance is often limited by a fixed set of parameters to model the highly complex search space of APR.

To ease such burden on the parametric models, in this work, we propose a novel Retrieval-Augmented Patch Generation framework (RAP-Gen) by explicitly leveraging relevant fix patterns retrieved from a codebase of previous bug-fix pairs Specifically, we build a hybrid patch retriever to account for both lexical and semantic matching based on the raw source code in a language-agnostic manner, which does not rely on any code-specific features. In addition, we adapt a code-aware language model CodeT5 as our founda tion model to facilitate both patch retrieval and generation tasks in a unified manner. We adopt a stage-wise approach where the patch retriever first retrieves a relevant external bug-fix pair to augment the buggy input for the CodeT5 patch generator, which synthesizes a ranked list of repair patch candidates. Notably, RAP-Gen is a generic APR framework that can flexibly integrate different patch retrievers and generators to repair various types of bugs.

We thoroughly evaluate RAP-Gen on three benchmarks in two programming languages, including the TFix benchmark in JavaScript, and Code Refinement and Defects4J benchmarks in Java, where the bug localization information may or may not be provided. Experimental results show that RAP-Gen significantly outperforms previous state-of-the-art (SoTA) approaches on all benchmarks, e.g., boosting the accuracy of T5-large on TFix from 49.70% to 54.15% (repairing 478 more bugs) and repairing 15 more bugs on 818 Defects4J bugs. Further analysis reveals that our patch retriever can search for relevant fix patterns to guide the APR systems.

Tue 5 Dec

Displayed time zone: Pacific Time (US & Canada) change

11:00 - 12:30
Automated Repair IResearch Papers / Industry Papers at Golden Gate C3
Chair(s): Shin Hwei Tan Concordia University
11:00
15m
Talk
RAP-Gen: Retrieval-Augmented Patch Generation with CodeT5 for Automatic Program Repair
Research Papers
Weishi Wang Nanyang Technological University, Yue Wang Salesforce Research, Shafiq Joty Salesforce Research, Steven C.H. Hoi Salesforce Research Asia
Media Attached
11:15
15m
Talk
From Leaks to Fixes: Automated Repairs for Resource Leak Warnings
Research Papers
Akshay Utture Uber Technologies Inc., Jens Palsberg University of California, Los Angeles (UCLA)
Pre-print Media Attached
11:30
15m
Talk
InferFix: End-to-End Program Repair with LLMs
Industry Papers
Matthew Jin , Syed Shahriar University of California at Los Angeles, Michele Tufano Microsoft, Xin Shi Microsoft Corporation, Shuai Lu Microsoft Research, Neel Sundaresan Microsoft, Alexey Svyatkovskiy Microsoft
DOI
11:45
15m
Research paper
Copiloting the Copilots: Fusing Large Language Models with Completion Engines for Automated Program Repair
Research Papers
Yuxiang Wei University of Illinois at Urbana-Champaign, Chunqiu Steven Xia University of Illinois at Urbana-Champaign, Lingming Zhang University of Illinois at Urbana-Champaign
Pre-print Media Attached
12:00
15m
Talk
SmartFix: Fixing Vulnerable Smart Contracts by Accelerating Generate-and-Verify Repair using Statistical Models
Research Papers
Sunbeom So Korea University, Hakjoo Oh Korea University
Media Attached
12:15
15m
Talk
Automatically Resolving Dependency-Conflict Building Failures via Behavior-Consistent Loosening of Library Version Constraints
Research Papers
Huiyan Wang Nanjing University, Shuguan Liu Nanjing University, Lingyu Zhang Nanjing University, Chang Xu Nanjing University
Media Attached