PaReco: Patched Clones and Missed Patches among the Divergent Variants of a Software Family

Poedjadevie Ramkisoen, John Businge, Brent Van Bradel, Alexandre Decan, Serge Demeyer, Coen De Roover, Foutse Khomh

Onderzoeksoutput: Conference paperResearch

3 Citaten (Scopus)

Samenvatting

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 projects are not always kept up to date. As a result, patches are not optimally integrated across the two projects, which may lead to sub-optimal maintenance between the variant and the original project. For example, a bug existing in both projects can be patched in one but not the other (we see this as a missed opportunity). Furthermore, different developers can manually patch the bug (we see this as effort duplication). This paper presents a tool (named PaReco) that relies on clone detection to mine cases of missed opportunity and effort duplication from a pool of updates. 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. As a result, 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.
Originele taal-2English
TitelProceedings of the 2022 ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2022)
RedacteurenAbhik Roychoudhury, Cristian Cadar, Miryung Kim
UitgeverijACM
Pagina's646–658
Aantal pagina's13
ISBN van elektronische versie9781450394130
ISBN van geprinte versie978-1-4503-9413-0
DOI's
StatusPublished - 7 nov 2022
EvenementACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2022) - Singapore, Singapore, Singapore
Duur: 14 nov 202218 nov 2022
https://2022.esec-fse.org

Publicatie series

NaamESEC/FSE 2022 - Proceedings of the 30th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering

Conference

ConferenceACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2022)
Verkorte titelESEC/FSE
Land/RegioSingapore
StadSingapore
Periode14/11/2218/11/22
Internet adres

Bibliografische nota

Funding Information:
This work is supported by the joint FWO-Vlaanderen and F.R.S.-FNRS Excellence of Science project SECO-ASSIST under Grant number O.0157.18FRG43. We also acknowledge the support of Natural Sciences and Engineering Research Council of Canada (NSERC).

Publisher Copyright:
© 2022 ACM.

Copyright:
Copyright 2022 Elsevier B.V., All rights reserved.

Vingerafdruk

Duik in de onderzoeksthema's van 'PaReco: Patched Clones and Missed Patches among the Divergent Variants of a Software Family'. Samen vormen ze een unieke vingerafdruk.

Citeer dit