Improving the Suggestion Making Accuracy of FLeCCS Using Semantics
摘要
When a programmer makes changes to a particular program entity (such as files, classes, methods), some other entities related to that program entity might also need to be changed correspondingly to ensure the consistency of the software system. These other related entities are called the co-change candidates of that particular program entity. Existing studies have detected co-change candidates using different techniques and by considering different granularities (e.g., file, method, or fragment level granularity). Fragment Level Co-change Candidate Suggester (FLeCCS) is the most recent technique that can suggest co-change candidates considering fragment level granularity. However, FLeCCS can miss important co-change suggestions because it does not look at the relatedness among the co-change candidates. In order to improve the suggestion making capability of FLeCCS, we propose iFLeCCS (id-correspondence + FLeCCS) that combines the semantic relationship inferring capability of ID-Correspondence with FLeCCS for better suggestion of co-change candidates. While FLeCCS only considers the overall fragment level similarity between a target and a co-change candidate, ID-Correspondence measures the identifier level similarity through lexical analysis. After analyzing thousands of revisions of six different subject systems written in C, C#, and Java, we find that our proposed iFLeCCS technique outperforms the existing state-of-the-art technique, FLeCCS, in making co-change suggestions with comparable precision, and significantly better recall and F-score.