Review4Repair: Code Review Aided Automatic Program Repairing

10/04/2020
by   Faria Huq, et al.
0

Context: Learning-based automatic program repair techniques are showing promise to provide quality fix suggestions for detected bugs in the source code of the software. These tools mostly exploit historical data of buggy and fixed code changes and are heavily dependent on bug localizers while applying to a new piece of code. With the increasing popularity of code review, dependency on bug localizers can be reduced. Besides, the code review-based bug localization is more trustworthy since reviewers' expertise and experience are reflected in these suggestions. Objective: The natural language instructions scripted on the review comments are enormous sources of information about the bug's nature and expected solutions. However, none of the learning-based tools has utilized the review comments to fix programming bugs to the best of our knowledge. In this study, we investigate the performance improvement of repair techniques using code review comments. Method: We train a sequence-to-sequence model on 55,060 code reviews and associated code changes. We also introduce new tokenization and preprocessing approaches that help to achieve significant improvement over state-of-the-art learning-based repair techniques. Results: We boost the top-1 accuracy by 20.33 We could provide a suggestion for stylistics and non-code errors unaddressed by prior techniques. Conclusion: We believe that the automatic fix suggestions along with code review generated by our approach would help developers address the review comment quickly and correctly and thus save their time and effort.

READ FULL TEXT

page 20

page 22

research
03/11/2019

Revisiting ssFix for Better Program Repair

A branch of automated program repair (APR) techniques look at finding an...
research
07/21/2022

BigIssue: A Realistic Bug Localization Benchmark

As machine learning tools progress, the inevitable question arises: How ...
research
10/26/2021

A Controlled Experiment of Different Code Representations for Learning-Based Bug Repair

Training a deep learning model on source code has gained significant tra...
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/24/2021

Recommending Bug-fixing Comments from Issue Tracking Discussions in Support of Bug Repair

In practice, developers search for related earlier bugs and their associ...
research
04/17/2020

Can We Use Stack Overflow as a Source of Explainable Bug-fix Data?

Bug-fix data sets are important for building various software engineerin...
research
12/12/2020

R-Hero: A Software Repair Bot based on Continual Learning

Software bugs are common and correcting them accounts for a significant ...

Please sign up or login with your details

Forgot password? Click here to reset