计算机科学与探索 ›› 2011, Vol. 5 ›› Issue (3): 229-237.

• 学术研究 • 上一篇    下一篇

面向方面程序的简化动态依赖图切片方法

张广泉1,2, 黄 静1, 章晓芳1,3, 刘长林1   

  1. 1. 苏州大学 计算机科学与技术学院, 江苏 苏州 215006
    2. 中国科学院 软件研究所 计算机科学国家重点实验室, 北京 100190
    3. 南京大学 计算机软件新技术国家重点实验室, 南京 210093
  • 收稿日期:1900-01-01 修回日期:1900-01-01 出版日期:2011-03-01 发布日期:2011-03-01

Slicing of Aspect-Oriented Programs Based on Reduced Dynamic Dependence Graph

ZHANG Guangquan1,2, HUANG Jing1, ZHANG Xiaofang1,3, LIU Changlin1   

  1. 1. School of Computer Science and Technology, Soochow University, Suzhou, Jiangsu 215006, China 2. State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China
    3. State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093, China
  • Received:1900-01-01 Revised:1900-01-01 Online:2011-03-01 Published:2011-03-01

摘要: 程序切片是一种重要的程序分析技术, 广泛应用于程序的调试、测试与维护等领域。面向方面程序设计作为一种新的软件开发范型, 能够实现横切关注点的模块化, 其特有的语言元素和功能为切片增加了难度。从静态切片和动态切片两种类型, 讨论了面向方面程序切片技术。在此基础上, 提出了一种基于简化动态依赖图的面向方面程序切片方法, 可以减少动态依赖图中节点和边的数量, 生成准确的面向方面程序的动态切片, 从而有助于人们更好地对面向方面程序进行分析和理解。

关键词: 面向方面程序, 静态切片, 动态切片, 简化动态依赖图

Abstract: Program slicing is an important technique for program analysis, which has many applications in various fields such as program debugging, testing, maintenance, etc. Aspect-oriented program is a new software development paradigm that enables modular implementation of cross-cutting concerns, and poses difficulties for slicing of aspect-oriented programs. From the two types: static slicing and dynamic slicing, a systematic analysis of the researches on slicing of aspect-oriented programs is conducted, and a dynamic slicing method of aspect-oriented programs based on reduced dynamic dependence graph is proposed, which can reduce the number of nodes and edges of dynamic dependence graph. The generated dynamic slice is accurate that helps people to better understand aspect-oriented programs.

Key words: aspect-oriented program, static slicing, dynamic slicing, reduced dynamic dependence graph