TL;DR
FixMiner is an automated approach that mines reusable fix patterns from software patches using clustering of AST-level code changes, improving automated program repair accuracy.
Contribution
It introduces a systematic, iterative clustering method leveraging Rich Edit Scripts to extract actionable fix patterns for program repair systems.
Findings
Successfully mined accurate fix patterns from thousands of patches.
Integrated patterns into PARFixMiner, fixing 26 bugs in Defects4J.
81% of generated patches were correct.
Abstract
Patching is a common activity in software development. It is generally performed on a source code base to address bugs or add new functionalities. In this context, given the recurrence of bugs across projects, the associated similar patches can be leveraged to extract generic fix actions. While the literature includes various approaches leveraging similarity among patches to guide program repair, these approaches often do not yield fix patterns that are tractable and reusable as actionable input to APR systems. In this paper, we propose a systematic and automated approach to mining relevant and actionable fix patterns based on an iterative clustering strategy applied to atomic changes within patches. The goal of FixMiner is thus to infer separate and reusable fix patterns that can be leveraged in other patch generation systems. Our technique, FixMiner, leverages Rich Edit Script which…
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.
