[1]闵洪波,徐宝文,钱巨.基于程序依赖图的Aspect挖掘技术[J].东南大学学报(自然科学版),2008,38(2):239-243.[doi:10.3969/j.issn.1001-0505.2008.02.011]
 Min Hongbo,Xu Baowen,Qian Ju.Apsect mining based on program dependence graph[J].Journal of Southeast University (Natural Science Edition),2008,38(2):239-243.[doi:10.3969/j.issn.1001-0505.2008.02.011]
点击复制

基于程序依赖图的Aspect挖掘技术()
分享到:

《东南大学学报(自然科学版)》[ISSN:1001-0505/CN:32-1178/N]

卷:
38
期数:
2008年第2期
页码:
239-243
栏目:
计算机科学与工程
出版日期:
2008-03-20

文章信息/Info

Title:
Apsect mining based on program dependence graph
作者:
闵洪波 徐宝文 钱巨
东南大学计算机科学与工程学院, 南京 210096; 江苏省软件质量研究所, 南京 210096
Author(s):
Min Hongbo Xu Baowen Qian Ju
School of Computer Science and Engineering, Southeast University, Nanjing 210096, China
Jiangsu Institution of Software Quality, Nanjing 210096, China
关键词:
Aspect挖掘 横切关注点 程序依赖图 软件维护
Keywords:
Aspect mining crosscutting concern program dependency graph software maintenance
分类号:
TP311.5
DOI:
10.3969/j.issn.1001-0505.2008.02.011
摘要:
为了有效地识别遗产代码中因横切关注点而导致的零散代码或交织代码,提出了一种基于程序依赖图的Aspect挖掘方法.根据横切关注点的本质特性,考察了横切关注点与核心关注点之间的依赖关系及其在依赖图上的表现形式,对于单个方法体,结合程序的语义信息,在程序依赖图中引入一个虚拟结点表征方法体的核心功能,所有影响核心功能的语句都与之建立依赖关系,然后对依赖图进行拓扑分析,先从虚拟结点开始分离出核心代码,再通过求解连通分量的方式挖掘方法体内横切代码.实例分析表明,该方法不仅能识别出方法体内的零散特性代码,而且还能有效地挖掘出交织特性的代码.
Abstract:
In order to identify effectively scattering code and tangling code introduced by crosscutting concerns in legacy system, an approach based on program dependence graph(PDG)for aspect mining is proposed in this paper. According to the intrinsic attribute of crosscutting concern, the dependence relationship between crosscutting concerns and core concerns is firstly examined, followed by analyzing its structure presentation on PDG. For a single method, combining the semantic information of a program, a virtual node is firstly introduced into its PDG to represent its core functionality and all statements which impact the core functionality is virtually depended by it. Then, topology analysis on PDG is performed to figure out the core code starting from the virtual node and the crosscutting code determining by computing connected components in PDG. As a result, all potential crosscutting code can be separated from core functionality. A case study shows that our approach can discover effectively both scattering code and tangling code in legacy code.

参考文献/References:

[1] Kiczales G,Mezini M.Aspect-oriented programming and modular reasoning[C] //Proceedings of the 27th International Conference on Software Engineering.St Louis,MO,2005:49-58.
[2] Baniassad E,Clarke S.Theme:an approach for aspect-oriented analysis and design[C] //International Conference on Software Engineering.Washington DC,USA,2004:158-167.
[3] Fowler M. Refactoring:improving the design of existing code [M].New York:Addison Wesley,1999.
[4] Binkley D,Ceccato M,Harman M,et al.Automated refactoring of object oriented code into aspects[C] //Proceeding of the International Conference on Software Maintenance. Budapest,Hungary,2005:27-35.
[5] Cojocar G S,Serban G.On evaluating aspect mining techniques[C] //IEEE 3rd Internation Conference on Intelligent Computer Communication and Processing.Cluj-Napoca,Romania,2007:217-224.
[6] Ceccato M,Marin M,Mens K,et al.Applying and combining three different aspect mining techniques[C] //Proceeding of 13th International Workshop on Program Comprehension.St Louis,MO,2006:209-231.
[7] Marin M,van Deursen A,Moonen L.Identifying aspects using fan-in analysis[C] //Proceedings of the 11th Working Conference on Reverse Engineering.Delft,Netherlands,2004:132-141.
[8] Shepherd D,Gibson E,Pollock L.Design and evaluation of an automated Aspect mining tool[C] //International Conference on Software Engineering Research and Practice.Las Vegas,NV,2004:601-607.
[9] Krinke J.Identifying similar code with program dependence graphs [C] //The 8th Working Conference on Reverse Engineering.Stuttgart,Germany,2001:301-309.
[10] Bruntink M,van Deursen A,van Engelen R,et al.On the use of clone detection for identifying crosscutting concern code[C] //IEEE International Conference on Software Maintenance.Chicago,IL,2004:804-818.
[11] Tonella P,Ceccato M.Aspect mining through the formal concept analysis of execution traces[C] //The 11th Working Conference on Reverse Engineering.Delft,Netherlands,2004:112-121.
[12] Horwitz S,Reps T.The use of program dependence graphs in software engineering[C] //International Conference on Software Engineering.Madison,USA,1992:392-411.

备注/Memo

备注/Memo:
作者简介: 闵洪波(1983—),男,硕士生; 徐宝文(联系人),男, 博士,教授,博士生导师,bwxu@seu.edu.cn.
基金项目: 国家杰出青年科学基金资助项目(60425206)、国家自然科学基金资助项目(60503020)、江苏省自然科学基金资助项目(BK2006094)、江苏省高技术研究资助项目(BG2005032).
引文格式: 闵洪波,徐宝文,钱巨.基于程序依赖图的Aspect挖掘技术[J].东南大学学报:自然科学版,2008,38(2):239-243.
更新日期/Last Update: 2008-03-20