TL;DR
DeepRepair leverages deep learning to analyze code similarities for automated program repair, prioritizing and transforming code fragments to generate patches, showing potential to find unique patches beyond existing methods.
Contribution
Introduces DeepRepair, a deep learning-based approach that reasons about code similarities to improve patch generation in automated program repair.
Findings
DeepRepair finds compilable ingredients faster than baseline.
DeepRepair does not significantly increase test-adequate patches.
DeepRepair discovers patches that existing techniques cannot find.
Abstract
In the field of automated program repair, the redundancy assumption claims large programs contain the seeds of their own repair. However, most redundancy-based program repair techniques do not reason about the repair ingredients---the code that is reused to craft a patch. We aim to reason about the repair ingredients by using code similarities to prioritize and transform statements in a codebase for patch generation. Our approach, DeepRepair, relies on deep learning to reason about code similarities. Code fragments at well-defined levels of granularity in a codebase can be sorted according to their similarity to suspicious elements (i.e., code elements that contain suspicious statements) and statements can be transformed by mapping out-of-scope identifiers to similar identifiers in scope. We examined these new search strategies for patch generation with respect to effectiveness from the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
