Combining concept lattice with call graph for impact analysis

  • Authors:
  • Bixin Li;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, Chinese Academy of Sciences, China;School of Computer Science and Engineering, Southeast University, Nanjing, China and State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, China;Department of Computing, Hong Kong Polytechnic University, Hong Kong, China

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

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software change impact analysis (CIA) is a key technique to identify unexpected and potential effects caused by software changes. Given a changed entity, most of current CIA techniques compute the change effect composed of some potentially impacted entities. The generated results are often of no help to the maintainers in starting the analysis of impacted entities. In this article, we combine concept lattice with call graph together to obtain a ranked list of potentially impacted methods from the proposed changed methods and/or classes. These impacted methods are ranked based on the hierarchical feature of concept lattice, represented by an impact factor, which can then be used to prioritize these methods to be inspected. Case studies based on four real-world programs show that our approach can improve the precision of the impact result without severely decreasing its recall, when compared with results from either concept lattice or call graph used independently. In addition, the predicted impacted methods with higher impact factor values are also shown to have higher probability to be affected by the changes. Our study also shows that our approach is better than the JRipples CIA approach in removing the false-positives, but at the cost of losing more false-negatives and much more time overhead.