A Quick Repair Facility for Debugging

02/11/2022
by   Steven P. Reiss, et al.
0

Modern development environments provide a widely used auto-correction facility for quickly repairing syntactic errors. Auto-correction cannot deal with semantic errors, which are much more difficult to repair. Automated program repair techniques, designed for repairing semantic errors, are not well-suited for interactive use while debugging, as they typically assume the existence of a high-quality test suite and take considerable time. To bridge the gap, we developed ROSE, a tool to suggest quick-yet-effective repairs of semantic errors during debugging. ROSE does not rely on a test suite. Instead, it assumes a debugger stopping point where a problem is observed. It asks the developer to quickly describe what is wrong, performs a light-weight fault localization to identify potential responsible locations, and uses a generate-and-validate strategy to produce and validate repairs. Finally, it presents the results so the developer can choose and make the appropriate repair. To assess its utility, we implemented a prototype of ROSE that works in the Eclipse IDE and applied it to two benchmarks, QuixBugs and Defects4J, for repair. ROSE was able to suggest correct repairs for 17 QuixBugs and 16 Defects4J errors in seconds.

READ FULL TEXT
research
10/15/2020

Tokenization Repair in the Presence of Spelling Errors

We consider the following tokenization repair problem: Given a natural l...
research
08/03/2020

On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programs

Test-based automated program repair has been a prolific field of researc...
research
10/24/2018

Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair System

Among the many different kinds of program repair techniques, one widely ...
research
11/15/2021

Beep: Fine-grained Fix Localization by Learning to Predict Buggy Code Elements

Software Fault Localization refers to the activity of finding code eleme...
research
05/10/2021

Neural Program Repair with Execution-based Backpropagation

Neural machine translation (NMT) architectures have achieved promising r...
research
01/29/2020

TarTar: A Timed Automata Repair Tool

We present TarTar, an automatic repair analysis tool that, given a timed...
research
04/19/2018

Reducing Cascading Parsing Errors Through Fast Error Recovery

Syntax errors are generally easy to fix for humans, but not for parsers:...

Please sign up or login with your details

Forgot password? Click here to reset