SNIAFL: Towards a static noninteractive approach to feature location

被引:87
作者
Zhao, Wei [1 ]
Zhang, Lu
Liu, Yin
Sun, Jiasu
Yang, Fuqing
机构
[1] Peking Univ, Sch Elect Engn & Comp Sci, Inst Software, Beijing 100871, Peoples R China
[2] Rensselaer Polytech Inst, Dept Comp Sci, Troy, NY 12180 USA
关键词
algorithms; experimentation;
D O I
10.1145/1131421.1131424
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
To facilitate software maintenance and evolution, a helpful step is to locate features concerned in a particular maintenance task. In the literature, both dynamic and interactive approaches have been proposed for feature location. In this article, we present a static and noninteractive method for achieving this objective. The main idea of our approach is to use information retrieval (IR) technology to reveal the basic connections between features and computational units in the source code. Due to the imprecision of retrieved connections, we use a static representation of the source code named BRCG ( branch-reserving call graph) to further recover both relevant and specific computational units for each feature. A premise of our approach is that programmers should use meaningful names as identifiers. We also performed an experimental study based on two real-world software systems to evaluate our approach. According to experimental results, our approach is quite effective in acquiring the relevant and specific computational units for most features.
引用
收藏
页码:195 / 226
页数:32
相关论文
共 42 条
  • [11] PROGRAM UNDERSTANDING - CHALLENGE FOR THE 1990S
    CORBI, TA
    [J]. IBM SYSTEMS JOURNAL, 1989, 28 (02) : 294 - 306
  • [12] Hipikat: Recommending pertinent software development artifacts
    Cubranic, D
    Murphy, GC
    [J]. 25TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2003, : 408 - 418
  • [13] DEERWESTER S, 1990, J AM SOC INFORM SCI, V41, P391, DOI 10.1002/(SICI)1097-4571(199009)41:6<391::AID-ASI1>3.0.CO
  • [14] 2-9
  • [15] SEESOFT - A TOOL FOR VISUALIZING LINE ORIENTED SOFTWARE STATISTICS
    EICK, SG
    STEFFEN, JL
    SUMNER, EE
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1992, 18 (11) : 957 - 968
  • [16] Locating features in source code
    Eisenbarth, T
    Koschke, R
    Simon, D
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2003, 29 (03) : 210 - 224
  • [17] Aiding program comprehension by static and dynamic feature analysis
    Eisenbarth, T
    Koschke, R
    Simon, D
    [J]. IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS: SYSTEMS AND SOFTWARE EVOLUTION IN THE ERA OF THE INTERNET, 2001, : 602 - 611
  • [18] Fowler M., 2018, Refactoring: improving the design of existing code, V2nd
  • [19] *GNU DC, ARB PREC CALC
  • [20] *GNU UNRTF, CONV RTF OTH FORM