关键词:
程序切片
AOP
AspectJ
摘要:
随着Java 使用面的增广,对Java 程序的调试变得越来越重要,目前现有的Java程序调试工具存在使用不便、效率低以及维护难等方面的不足,本文采用程序切片技术设计并实现基于AspectJ 的Java 程序切片系统,用于分析并调试Java 程序。
程序切片是一种分析和理解程序的技术,它通过对源程序中每个兴趣点分别计算切片来达到对程序的分析和理解;AspectJ 是面向特征程序设计的Java 实现,它的最大的特点是可以将横切关注点模块化。
作者主要完成了三个方面的主要工作:首先,在综合考虑国内外现有的各种切片方案的切片精度以及切片时间代价的基础上, 采用切片综合效率最高的DC(Dependence-Cache)切片技术分析设计了基于AspectJ 的Java 程序切片系统的总体结构;其次,作者利用AOP 的Aspect 机制,采用AspectJ 语言,实现了基于AspectJ的Java 程序切片系统的动态信息采集器子系统;最后,分别从切片时间代价和切片精确度两个方面对基于AspectJ 的Java 程序切片系统进行了测试,验证了DC 切片方案的高效性,从而进一步证明了该系统的确是一个易于使用、易于维护、高效率、高精确度的Java 程序切片系统。