Using water wave propagation phenomenon to study software change impact analysis

  • Authors:
  • Bixin Li;Qiandong Zhang;Xiaobing Sun;Hareton Leung

  • Affiliations:
  • School of Computer Science and Engineering, Southeast University, Nanjing, China and State Key Laboratory of Computer Science, Institute of Software, Beijing, China;School of Computer Science and Engineering, Southeast University, Nanjing, China;School of Computer Science and Engineering, Southeast University, Nanjing, China;Department of Computing, Hong Kong Polytechnic University, Hong Kong, China

  • Venue:
  • Advances in Engineering Software
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.