Incremental call graph reanalysis for AspectJ software

Yu Lin, Sai Zhang, Jianjun Zhao

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

Program call graph representation can be used to support many tasks in compiler optimization, program comprehension, and software maintenance. During software evolution, the call graph needs to remain fairly precise and be updated quickly in response to software changes. In this paper, we present an approach to incremental update, instead of exhaustive analysis of the initially constructed call graph in AspectJ software. Our approach first decomposes the source code edits between the updated and initial software versions into a set of atomic change representations, which capture the semantic differences. Then, we explore the relationship between atomic changes and call graph to incrementally update the initially constructed graph, instead of rebuilding it from the ground up. We implement the reanalysis approach on top of the ajc AspectJ compiler and perform an empirical study on 24 versions of eight AspectJ benchmarks. The experiment result shows that our approach can reduce a large portion of unnecessary reanalysis cost as program changes occur, and significant savings are observed for the incremental reconstruction of AspectJ call graph in comparison with an exhaustive analysis, with no loss in precision.

Original languageEnglish
Title of host publication2009 IEEE International Conference on Software Maintenance, ICSM 2009 - Proceedings of the Conference
Pages306-315
Number of pages10
DOIs
Publication statusPublished - Dec 4 2009
Externally publishedYes
Event2009 IEEE International Conference on Software Maintenance, ICSM 2009 - Edmonton, AB, Canada
Duration: Sep 20 2009Sep 26 2009

Publication series

NameIEEE International Conference on Software Maintenance, ICSM

Other

Other2009 IEEE International Conference on Software Maintenance, ICSM 2009
CountryCanada
CityEdmonton, AB
Period9/20/099/26/09

    Fingerprint

All Science Journal Classification (ASJC) codes

  • Software

Cite this

Lin, Y., Zhang, S., & Zhao, J. (2009). Incremental call graph reanalysis for AspectJ software. In 2009 IEEE International Conference on Software Maintenance, ICSM 2009 - Proceedings of the Conference (pp. 306-315). [5306311] (IEEE International Conference on Software Maintenance, ICSM). https://doi.org/10.1109/ICSM.2009.5306311