ICSE 2026 Paper Accepted

We are happy to announce that our paper titled Decades of GNU Patch and Git Cherry-Pick: Can We Do Better? by  Alexander Schultheiß,  Alexander Boll, Paul Maximilian Bittner,  Sandra Greiner, Thomas Thüm, and  Timo Kehrer has been accepted to the  IEEE/ACM International Conference on Software Engineering (ICSE) 2026.

Short Summary

We investigated the prominence of patching in public repositories and the effectiveness of patchers in complex patch scenarios. We observed that existing patchers struggle to identify the correct change locations when applying patches. This causes an overall low rate of automation of only 16% to 41% of patches. To address these shortcomings, we introduced mpatch, a novel language-agnostic patching technique with a match-based strategy that can automatically apply approximately 60% of patches without errors.

mpatch: a novel match-based patcher

During patching, mpatch first computes a matching between the source version, from which a patch was extracted, and the target version, to which the patch should be applied. This matching yields correspondences between the artifacts of the source and target version. Then, mpatch analyzes these correspondences when applying the patch to the target version, and thereby identifies the correct locations for changes.

Potential Impact

We investigated the potential impact of mpatch on patching in practice. To this end, we mined a dataset of over 100,000 complex patch scenarios from 5,000 open source repositories on GitHub. Of these scenarios, mpatch can correctly and automatically apply 17k patches more than the best current patcher. This directly impacts projects that heavily rely on patching, such as  ceph, in which we found more than 7,000 complex patches, of which mpatch applies 1,800 more patches automatically.

Our design and implementation of a match-based patcher demonstrated superior effectiveness compared to a family of tools that have evolved and matured over almost 40 years. Using its match-based approach, mpatch achieves a significantly higher automation rate than the best current patcher in the patch scenarios studied. This underscores the importance of re-evaluating even the most established methods and techniques in our more than vibrant research area of software engineering.