Using Information Retrieval Based Coupling Measures for Impact Analysis

Abstract

Coupling is an important property of software systems, which directly impacts program comprehension. In addition, the strength of coupling measured between modules in software is often used as a predictor of external software quality attributes such as changeability, ripple effects of changes and fault-proneness. This paper presents a new set of coupling measures for Object-Oriented (OO) software systems measuring conceptual coupling of classes. Conceptual coupling is based on measuring the degree to which the identifiers and comments from different classes relate to each other. This type of relationship, called conceptual coupling, is measured through the use of Information Retrieval (IR) techniques. The proposed measures are different from existing coupling measures and they capture new dimensions of coupling, which are not captured by the existing coupling measures. The paper investigates the use of the conceptual coupling measures during change impact analysis. The paper reports the findings of a case study in the source code of the Mozilla web browser, where the conceptual coupling metrics were compared to nine existing structural coupling metrics and proved to be better predictors for classes impacted by changes.

Publication
Empirical Software Engineering, 14(1):5–32

BibTeX:

@Article{PMF09,
    author   = {Poshyvanyk, Denys and Marcus, Andrian and Ferenc, Rudolf and Gyim{\'o}thy, Tibor},
    journal  = {Empirical Software Engineering},
    title    = {Using Information Retrieval Based Coupling Measures for Impact Analysis},
    year     = {2009},
    issn     = {1573-7616},
    month    = feb,
    number   = {1},
    pages    = {5--32},
    volume   = {14},
    doi      = {10.1007/s10664-008-9088-2},
    keywords = {Impact analysis, Latent semantic indexing, Information retrieval, Change prediction, Coupling measurement},
    url      = {https://link.springer.com/article/10.1007%2Fs10664-008-9088-2},
}