PaReco: patched clones and missed patches among the divergent variants of a software family
Poedjadevie Kadjel Ramkisoen, John Businge, Brent van Bladel, Alexandre Decan, Serge Demeyer, Coen De Roover, Foutse Khomh
Abstract
Re-using whole repositories as a starting point for new projects is often done by maintaining a variant fork parallel to the original. However, the common artifacts between both are not always kept up to date. As a result, patches are not optimally integrated across the two repositories, which may lead to sub-optimal maintenance between the variant and the original project. A bug existing in both repositories can be patched in one but not the other (we see this as a missed opportunity) or it can be manually patched in both probably by different developers (we see this as effort duplication). In this paper we present a tool (named PaReCo) which relies on clone detection to mine cases of missed opportunity and effort duplication from a pool of patches. We analyzed 364 (source to target) variant pairs with 8,323 patches resulting in a curated dataset containing 1,116 cases of effort duplication and 1,008 cases of missed opportunities. We achieve a precision of 91%, recall of 80%, accuracy of 88%, and F1-score of 85%. Furthermore, we investigated the time interval between patches and found out that, on average, missed patches in the target variants have been introduced in the source variants 52 weeks earlier. Consequently, PaReCo can be used to manage variability in “time” by automatically identifying interesting patches in later project releases to be backported to supported earlier releases.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext a7de5767-17b9-49ec-ac1f-ee0183478f22Cited by top-tier papers1
Ask how each one uses itBuilds on6
- VUDDY: A Scalable Approach for Vulnerable Code Clone DiscoverySeulbae Kim, Seunghoon Woo, Heejo Lee, Hakjoo OhS&P 2017 · 388 citations
- An empirical analysis of the costs of clone- and platform-oriented software reuseJacob Krüger, Thorsten BergerFSE 2020 · 81 citations
- How has forking changed in the last 20 years?: a study of hard forks on GitHubShurui Zhou, Bogdan Vasilescu, Christian KästnerICSE 2020 · 33 citations
- Seamless Variability Management With the Virtual PlatformWardah Mahmood, Daniel Strüber, Thorsten Berger, Ralf Lämmel et al.ICSE 2021 · 23 citations
- Same File, Different Changes: The Potential of Meta-Maintenance on GitHubHideaki Hata, Raula Gaikovina Kula, Takashi Ishio, Christoph TreudeICSE 2021 · 12 citations
Related papers
- To Share, or Not to Share: Exploring Test-Case Reusability in Fork EcosystemsMukelabai Mukelabai, Christoph Derks, Jacob Krüger, Thorsten BergerASE 2023 · 4 citations
- BlockScope: Detecting and Investigating Propagated Vulnerabilities in Forked Blockchain ProjectsXiao Yi, Yuzhou Fang, Daoyuan Wu, Lingxiao JiangNDSS 2023
- Feature trace recordingPaul Maximilian Bittner, Alexander Schultheiß, Thomas Thüm, Timo Kehrer et al.FSE 2021 · 12 citations
- NIL: large-scale detection of large-variance clonesTasuku Nakagawa, Yoshiki Higo, Shinji KusumotoFSE 2021 · 41 citations
- FIRE: Combining Multi-Stage Filtering with Taint Analysis for Scalable Recurring Vulnerability DetectionSiyue Feng, Yueming Wu, Wenjie Xue, Sikui Pan et al.USENIX Security 2024 · 13 citations
