A quick repair facility for debugging
SP Reiss, Q Xin - arXiv preprint arXiv:2202.05577, 2022 - arxiv.org
SP Reiss, Q Xin
arXiv preprint arXiv:2202.05577, 2022•arxiv.orgModern 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 …
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 …
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.
arxiv.org
Showing the best result for this search. See all results