首页> 外文会议>Software Maintenance, 2009. ICSM 2009 >Incremental call graph reanalysis for AspectJ software
【24h】

Incremental call graph reanalysis for AspectJ software

机译:AspectJ软件的增量调用图重新分析

获取原文

摘要

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.
机译:程序调用图表示可用于支持编译器优化,程序理解和软件维护中的许多任务。在软件开发过程中,调用图需要保持相当精确,并响应于软件更改而快速更新。在本文中,我们提出一种增量更新的方法,而不是详尽地分析AspectJ软件中最初构建的调用图。我们的方法首先将更新的软件版本和初始的软件版本之间的源代码编辑分解为一组原子更改表示形式,它们捕获了语义差异。然后,我们探索原子变化和调用图之间的关系,以递增地更新最初构造的图,而不是从头开始重建它。我们在ajc AspectJ编译器的顶部实施重新分析方法,并对8个AspectJ基准的24个版本进行了实证研究。实验结果表明,随着程序的更改,我们的方法可以减少很大一部分不必要的重新分析成本,与详尽的分析相比,AspectJ调用图的增量重建可节省大量成本,并且没有损失任何精度。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号