Published August 11, 2025 | Version v1.0.2

Replication Package: Refactoring-Aware Patch Integration Across Structurally Divergent Java Forks

  • 1. University of Nevada, Las Vegas

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

If you use this work, please cite it as below.

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

Software