Loading…

Ranking co-change candidates suggested by FLeCCS using programmer sensitivity

Identifying co-change candidates when making changes to a particular program entity is an important software engineering task which is known as change impact analysis. A number of techniques for detecting co-change candidates currently exist. Most of these techniques work considering file level, cla...

Full description

Saved in:
Bibliographic Details
Published in:Science of computer programming 2025-02, Vol.240, p.103216, Article 103216
Main Authors: Hamid, Abid Afsan, Haque, Md. Fizul, Mondal, Manishankar
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Identifying co-change candidates when making changes to a particular program entity is an important software engineering task which is known as change impact analysis. A number of techniques for detecting co-change candidates currently exist. Most of these techniques work considering file level, class level, or method level granularity. FLeCCS is a recently introduced technique that suggests co-change candidates considering even fragment level granularity. FLeCCS ranks its co-change candidates considering file proximity. However, programmer sensitivity might be an important factor while ranking co-change candidates. Intuitively, it is more comfortable for a programmer to change her own code rather than changing someone else's code. Considering this fact, we investigate ranking co-change candidates suggested by FLeCCS considering programmer sensitivity. In our research, we have two main contributions: (1) proposing a composite ranking mechanism considering three things - file proximity, code similarity, and programmer sensitivity and (2) an empirical evaluation of our proposed mechanism by comparing it with file proximity ranking and similarity extent ranking mechanisms on thousands of revisions of five subject systems. We compare the ranking mechanisms in ranking the co-change candidates suggested by FLeCCS. According to our investigation incorporating four measures (Precision At K, Recall At K, Mean Average Precision and Mean Reciprocal Rank), composite ranking mechanism significantly outperforms the other two existing ranking mechanisms. Our findings are supported by statistical significance tests. We believe that our Proposed Composite Ranking mechanism is not only applicable to FLeCCS but also to other co-change suggestion techniques. •Programmer sensitivity plays an important role in ranking co-change candidates suggested by FLeCCS.•For a considerable percentage of change cases, programmer sensitive ranking is the only applicable ranking mechanism.•Our proposed Composite Ranking Mechanism performs better than both File Proximity and Similarity Extent Ranking mechanisms.
ISSN:0167-6423
DOI:10.1016/j.scico.2024.103216