首页> 中文学位 >面向方面程序调用图分析工具的设计与实现
【6h】

面向方面程序调用图分析工具的设计与实现

代理获取

摘要

多年以来,面向对象编程(OOP)作为软件开发领域的主要编程范式,大大提高了软件代码的模块性、可重用性,降低了软件的复杂度以及软件的维护成本。然而随着面向对象编程的不断发展,它所带来的代码分散(code scattering)和代码纠缠(code tangling)问题也日益严重。面向方面编程(AOP)是在面向对象编程基础上提出的一种较新的编程范式。它可以很好地解决代码分散和代码纠缠问题,使系统易于设计和扩展,提高了代码开发的质量和效率以及代码产品的模块性和可重用性。 作为一种新的编程范式,面向方面程序的程序分析、程序理解、软件测试、软件维护等方面还有许多待研究的课题。调用图(call graph)分析作为程序分析、程序理解、软件测试和软件维护的重要基础,也是其中的一个重要的研究课题。本文以面向对象程序的调用图生成算法为基础,以面向方面编程语言AspectJ语言作为研究对象,提出了三种不同精度的针对AspectJ程序的调用图生成算法CHA-AJ算法、RTA-AJ算法和VTA-AJ算法,同时也提出了针对面向方面程序调用图的图示表示法AJPresentation,大大提高了调用图的可读性。本文还讨论了支持这些面向方面程序调用图生成算法的分析工具——面向方面程序调用图分析工具ACGAG的设计与实现。ACGAG可以处理源码形式的AspectJ程序和字节码形式的AspectJ程序,可以选择采用不同精度的面向方面程序调用图生成算法进行分析,分析的结果为该AspectJ程序的调用图。关于AspectJ程序调用图的输出,ACGAG采用了两种输出方式:文本输出和图形输出,其中图形输出的表示法即采用AJPresentation图示表示法。 本课题的研究第一次详细提出了针对面向方面程序的调用图生成算法,并针对面向方面程序中的特殊语言元素提出了具体的解决方案。为了提高面向方面程序调用图的可读性,本文提出的新的面向方面程序调用图的图示表示法可以帮助程序员更好地分析面向方面程序。而ACGAG也是目前为止第一款支持面向方面程序的调用图分析工具,它在实用性和可扩展性等方面都有着不错的表现。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号