Neural Program Repair with Program Dependence Analysis and Effective Filter Mechanism

05/16/2023
by   Yuwei Zhang, et al.
0

Automated program repair is a crucial task for improving the efficiency of software developers. Recently, neural-based techniques have demonstrated significant promise in generating correct patches for buggy code snippets. However, most existing approaches arbitrarily treat the buggy context without any analysis to capture the semantic relationship between the buggy statement and its context. Additionally, we observe that existing neural models may output an unaltered patch consistent with the input buggy code snippet, which fails to be the correct human-written one for fixing the given bug. To address the aforementioned limitations, we present in this paper a novel neural program repair framework called , which adapts the general pre-trained language model for fixing single-line Java bugs. We make the first attempt to use program slicing to extract contextual information directly related to the given buggy statement as repair ingredients from the corresponding program dependence graph and eliminate unaltered patches using an intuitive but effective filter mechanism. We demonstrate the effectiveness of on five benchmarks when compared with state-of-the-art baselines.

READ FULL TEXT

page 1

page 10

research
04/30/2022

Katana: Dual Slicing-Based Context for Learning Bug Fixes

Contextual information plays a vital role for software developers when u...
research
05/12/2023

Where to Look When Repairing Code? Comparing the Attention of Neural Models and Developers

Neural network-based techniques for automated program repair are becomin...
research
01/30/2023

Conversational Automated Program Repair

Automated Program Repair (APR) can help developers automatically generat...
research
11/27/2022

Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5

Automated software debugging is a crucial task for improving the product...
research
08/28/2018

CFAAR: Control Flow Alteration to Assist Repair

We present CFAAR, a program repair assistance technique that operates by...
research
09/17/2023

GAMMA: Revisiting Template-based Automated Program Repair via Mask Prediction

Automated program repair (APR) aims to fix software bugs without human i...
research
04/05/2023

Explainable Automated Debugging via Large Language Model-driven Scientific Debugging

Automated debugging techniques have the potential to reduce developer ef...

Please sign up or login with your details

Forgot password? Click here to reset