Replication Package: Refactoring-Aware Patch Integration Across Structurally Divergent Java Forks
Description
RePatch is a refactoring-aware patch integration tool designed to transfer bug-fix commits across structurally divergent Java variants. It begins by identifying "Missed Opportunity" patches -- bug fixes present in one variant but absent in its fork using the PaReco tool. The system links the source and target repositories, and attempts to apply these patches via git cherry-pick.
When standard cherry-pick fails due to refactorings (e.g., method renaming or relocation), RePatch detects and temporarily inverts these structural changes using RefactoringMiner. This alignment enables the patch to be applied successfully. After integration, the original refactorings are replayed to preserve the target’s evolution history. This two-phase process improves patch portability across independently evolving codebases.
Notes
Files
unlv-evol/RePatch-v1.0.2.zip
Files
(169.6 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:57f60d62eb3831af329f8d04380d4e92
|
169.6 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/unlv-evol/RePatch/tree/v1.0.2 (URL)
Software
- Repository URL
- https://github.com/unlv-evol/RePatch