• DocumentCode
    2209630
  • Title

    Incremental call graph reanalysis for AspectJ software

  • Author

    Lin, Yu ; Zhang, Sai ; Zhao, Jianjun

  • Author_Institution
    Sch. of Software, Shanghai Jiao Tong Univ., Shanghai, China
  • fYear
    2009
  • fDate
    20-26 Sept. 2009
  • Firstpage
    306
  • Lastpage
    315
  • 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.
  • Keywords
    object-oriented programming; program compilers; software maintenance; AspectJ compiler; AspectJ software; atomic change representations; compiler optimization; incremental call graph reanalysis; program call graph representation; program comprehension; software evolution; software maintenance; source code; Computer bugs; Costs; Java; Optimizing compilers; Performance analysis; Program processors; Software debugging; Software maintenance; Software systems; Software testing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2009. ICSM 2009. IEEE International Conference on
  • Conference_Location
    Edmonton, AB
  • ISSN
    1063-6773
  • Print_ISBN
    978-1-4244-4897-5
  • Electronic_ISBN
    1063-6773
  • Type

    conf

  • DOI
    10.1109/ICSM.2009.5306311
  • Filename
    5306311