PaReco: Patched Clones and Missed Patches among the Divergent Variants of a Software Family
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.
Tue 15 NovDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
14:00 - 15:30 | Debugging/localizationResearch Papers / Industry Paper / Demonstrations / Ideas, Visions and Reflections at SRC LT 51 Chair(s): Mauro Pezze USI Lugano; Schaffhausen Institute of Technology | ||
14:00 15mTalk | Metadata-Based Retrieval for Resolution Recommendation in AIOps Industry Paper DOI | ||
14:15 15mTalk | PaReco: Patched Clones and Missed Patches among the Divergent Variants of a Software Family Research Papers Poedjadevie Kadjel Ramkisoen University of Antwerp; Flanders Make, John Businge University of Antwerp; Flanders Make; University of Nevada at Las Vegas, Brent van Bladel University of Antwerp; Flanders Make, Alexandre Decan University of Mons; F.R.S.-FNRS, Serge Demeyer University of Antwerp; Flanders Make, Coen De Roover Vrije Universiteit Brussel, Foutse Khomh Polytechnique Montréal DOI | ||
14:30 15mTalk | Fault Localization to Detect Co-change Fixing Locations Research Papers Yi Li New Jersey Institute of Technology, Shaohua Wang New Jersey Institute of Technology, Tien N. Nguyen University of Texas at Dallas DOI | ||
14:45 15mTalk | Reflections on Software Failure Analysis Ideas, Visions and Reflections Paschal Amusuo Purdue University, Aishwarya Sharma Purdue University, Siddharth R. Rao Purdue University, Abbey Vincent Purdue University, James C. Davis Purdue University DOI | ||
15:00 7mTalk | eGEN: An Energy-saving Modeling Language and Code Generator for Location-sensing of Mobile Apps Demonstrations Kowndinya Boyalakuntla Indian Institute of Technology Tirupati, Marimuthu Chinnakali National Institute of Technology Karnataka, Sridhar Chimalakonda IIT Tirupati, K. Chandrasekaran National Institute of Technology Karnataka | ||
15:08 7mTalk | SFLKit: A Workbench for Statistical Fault Localization Demonstrations Marius Smytzek CISPA Helmholtz Center for Information Security, Andreas Zeller CISPA Helmholtz Center for Information Security Pre-print |