2021 IEEE/ACM 29th International Conference on Program Comprehension (ICPC)


Anthology ID:
G21-24
Month:
Year:
2021
Address:
Venue:
GWF
SIG:
Publisher:
IEEE
URL:
https://gwf-uwaterloo.github.io/gwf-publications/G21-24
DOI:
Bib Export formats:
BibTeX MODS XML EndNote

pdf bib
FLeCCS: A Technique for Suggesting Fragment-Level Similar Co-change Candidates
Manishankar Mondal | Chanchal K. Roy | Banani Roy | Kevin A. Schneider | Manishankar Mondal | Chanchal K. Roy | Banani Roy | Kevin A. Schneider

When a programmer changes a particular code fragment, the other similar code fragments in the code-base may also need to be changed together (i.e., co-changed) consistently to ensure that the software system remains consistent. Existing studies and tools apply clone detectors to identify these similar co-change candidates for a target code fragment. However, clone detectors suffer from a confounding configuration choice problem and it affects their accuracy in retrieving co-change candidates.In our research, we propose and empirically evaluate a lightweight co-change suggestion technique that can automatically suggest fragment level similar co-change candidates for a target code fragment using WA-DiSC (Weighted Average Dice-Sørensen Co-efficient) through a context-sensitive mining of the entire code-base. We apply our technique, FLeCCS (Fragment Level Co-change Candidate Suggester), on six subject systems written in three different programming languages (Java, C, and C#) and compare its performance with the existing state-of-the-art techniques. According to our experiment, our technique outperforms not only the existing code clone based techniques but also the association rule mining based techniques in detecting co-change candidates with a significantly higher accuracy (precision and recall). We also find that File Proximity Ranking performs significantly better than Similarity Extent Ranking when ranking the co-change candidates suggested by our proposed technique.