Using water wave propagation phenomenon to study software change impact analysis

被引:3
作者
Li, Bixin [1 ,2 ]
Zhang, Qiandong [1 ]
Sun, Xiaobing [1 ]
Leung, Hareton [3 ]
机构
[1] Southeast Univ, Sch Comp Sci & Engn, Nanjing, Jiangsu, Peoples R China
[2] Inst Software, State Key Lab Comp Sci, Beijing, Peoples R China
[3] Hong Kong Polytech Univ, Dept Comp, Hong Kong, Hong Kong, Peoples R China
基金
中国国家自然科学基金;
关键词
Water wave propagation; Change impact analysis; Core; Call graph; Change set; Impact set;
D O I
10.1016/j.advengsoft.2013.01.001
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Software change impact analysis (CIA) is a key technique to identify the potential effects caused by software changes. Given the proposed changes, most commonly used CIA techniques apply reachability analysis on the graphical representation of the software to identify their effects. They often compute a large set of potentially impacted elements with many false-positives, which will waste resource in later analysis. In addition, these techniques do not consider the interference among the proposed changes, which does exist in practice. Faced with these problems, this paper proposed a new call graph-based CIA technique, which takes the interference among multiple proposed changes into account to improve the precision of the impact results. Our proposed CIA is inspired by a natural phenomenon "water wave propagation". The CIA process is similar to the process of water wave propagation. First we identify the "core" (a special set of methods) generated by the proposed changes. Then we compute the ripple effects through propagation analysis on this core. Empirical evaluations on two real-world software projects demonstrate the effectiveness of our CIA approach. The results show that our CIA technique can predict better impact results when more changes are known, and provide an eclectic way for practical use. Moreover, it can effectively remove the false-positives at the cost of missing a few false-negatives when compared to traditional (call graph based) CIA techniques. (C) 2013 Elsevier Ltd. All rights reserved.
引用
收藏
页码:45 / 53
页数:9
相关论文
共 28 条
  • [1] Acharya M, 2011, 2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), P746, DOI 10.1145/1985793.1985898
  • [2] [Anonymous], 1985, Program Evolution: Processes of Software Change
  • [3] [Anonymous], 2010, IEEE INT C SOFTWARE
  • [4] [Anonymous], J SOFTWARE MAINTENAN
  • [5] Apiwattanapong T, 2005, PROC INT CONF SOFTW, P432
  • [6] Beszedes A, 2007, CSMR 2007: 11TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, P103
  • [7] Bohner S. A., 1996, SOFTWARE CHANGE IMPA
  • [8] A unified framework for coupling measurement in object-oriented systems
    Briand, LC
    Daly, JW
    Wüst, JK
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (01) : 91 - 121
  • [9] Optimization of object-oriented programs using static class hierarchy analysis
    Dean, J
    Grove, D
    Chambers, C
    [J]. ECOOP '95 - OBJECT-ORIENTED PROGRAMMING, 1995, 952 : 77 - 101
  • [10] Supporting impact analysis and change propagation in software engineering environments
    Han, J
    [J]. EIGHTH IEEE INTERNATIONAL WORKSHOP ON SOFTWARE TECHNOLOGY AND ENGINEERING PRACTICE INCORPORATING COMPUTER AIDED SOFTWARE ENGINEERING, PROCEEDINGS, 1997, : 172 - 182