Revealing Missing Bug-Fixes in Code Clones in Large-Scale Code Bases

Martin Poehlmann, Elmar Juergens
2013 Electronic Communications of the EASST  
When a bug is fixed in duplicated code, it is often necessary to modify all duplicates (so-called clones) accordingly. In practice, however, fixes are often incomplete, which causes the bug to remain in one or more of the clones. This paper presents an approach that detects such incomplete bug-fixes in cloned code by analyzing a system's version history to reveal those commits that fix problems. The approach then performs incremental clone detection to reveal those clones that became
more » ... t as a result of such a fix. We present results from a case study that analyzed incomplete bug-fixes in six industrial and open-source systems to demonstrate the feasibility and defectiveness of our approach. We identified likely incomplete bug-fixes in all analyzed systems.
doi:10.14279/tuj.eceasst.60.853 dblp:journals/eceasst/PoehlmannJ13 fatcat:6r63cnovjfaddp4r3nfyttr6nu