TY - JOUR
T1 - Improving feature location using structural similarity and iterative graph mapping
AU - Peng, Xin
AU - Xing, Zhenchang
AU - Tan, Xi
AU - Yu, Yijun
AU - Zhao, Wenyun
PY - 2013/3
Y1 - 2013/3
N2 - Locating program element(s) relevant to a particular feature is an important step in efficient maintenance of a software system. The existing feature location techniques analyse each feature independently and perform a one-time analysis after being provided an initial input. As a result, these techniques are sensitive to the quality of the input. In this paper, we propose to address the above issues in feature location using an iterative context-aware approach. The underlying intuition is that features are not independent of each other, and the structure of source code resembles the structure of features. The distinguishing characteristics of the proposed approach are: (1) it takes into account the structural similarity between a feature and a program element to determine feature-element relevance and (2) it employs an iterative process to propagate the relevance of the established mappings between a feature and a program element to the neighbouring features and program elements. We evaluate our approach using two different systems, DirectBank, a small-scale industry financial system, and Linux kernel, a large-scale open-source operating system. Our evaluation suggests that the proposed approach is more robust and can significantly increase the recall of feature location with only a minor decrease of precision.
AB - Locating program element(s) relevant to a particular feature is an important step in efficient maintenance of a software system. The existing feature location techniques analyse each feature independently and perform a one-time analysis after being provided an initial input. As a result, these techniques are sensitive to the quality of the input. In this paper, we propose to address the above issues in feature location using an iterative context-aware approach. The underlying intuition is that features are not independent of each other, and the structure of source code resembles the structure of features. The distinguishing characteristics of the proposed approach are: (1) it takes into account the structural similarity between a feature and a program element to determine feature-element relevance and (2) it employs an iterative process to propagate the relevance of the established mappings between a feature and a program element to the neighbouring features and program elements. We evaluate our approach using two different systems, DirectBank, a small-scale industry financial system, and Linux kernel, a large-scale open-source operating system. Our evaluation suggests that the proposed approach is more robust and can significantly increase the recall of feature location with only a minor decrease of precision.
KW - Feature location
KW - Information retrieval
KW - Structural similarity
KW - Traceability recovery
UR - http://www.scopus.com/inward/record.url?scp=84872679463&partnerID=8YFLogxK
U2 - 10.1016/j.jss.2012.10.270
DO - 10.1016/j.jss.2012.10.270
M3 - Article
SN - 0164-1212
VL - 86
SP - 664
EP - 676
JO - Journal of Systems and Software
JF - Journal of Systems and Software
IS - 3
ER -