基于路径覆盖准则的AOP路径生成方法研究

2012-11-30 03:19:46柴玉梅王黎明
计算机工程与设计 2012年11期
关键词:方法

王 波,柴玉梅,王黎明

(郑州大学 信息工程学院,河南 郑州450052)

0 引 言

在软件设计和实现过程中,人们提出面向方面程序技术 (aspect-oriented programming,AOP)来提高关注点的分离[1]。符合路径覆盖[2]准则的测试,就是使所有的测试用例覆盖程序中所有可能的执行路径。目前,程序路径的生成,主要依赖于程序的控制流信息[3]。许多针对面向过程、面向对象程序进行分析和维护的技术依赖于控制流信息。Zhen Feng[4]通过调用图、控制流图 (CFG)来表示控制流信息,其中,CFG准确刻画了程序所有的可能执行轨迹,但其只针对面向过程、面向对象程序,并没有说明针对AOP的CFG生成方法。因为CFG包含了AOP的执行路径,所以,T.Xie等人[5]根据特定的覆盖准则来确定AOP的测试数据。Jianjun Zhao[6]针对AOP的特性,详细分析了AOP的静态控制流信息,并使用系统控制流图来表示这些信息。

本文提出了AOP静态[7]控制流信息的表示方法,通过构造完整AOP语句控制流图 (complete AOP statement control flow graph,CSFG)来表示AOP的静态控制流信息,并使用邻接表存储CSFG,然后对CSFG进行遍历,得到AOP的所有可执行路径和不可执行路径。

1 定 义

定义1 语句控制流图 (SFG):SFG是一个有向图,SFG=<N,E,entry,exit>,其中,N:表示节点的集合,每个节点代表程序中的一条语句;E:表示边的集合,每条边为一个有序节点对<ni,nj>,表示从ni执行完以后立即执行nj,其中,ni,nj∈N;entry:表示SFG的唯一入口节点;exit:表示SFG的唯一出口节点;

程序的一条路径就是从入口节点entry到nk的节点序列<n1,n2,n3,…,nk>,其中n1=entry,<ni,ni+1>∈E,1≤i<k。

定义2 内部类型成员:一个方面可以声明属于特定类型的成员 (如字段、方法或构造方法),它们称为内部类型成员。

2 部……
登录APP查看全文

猜你喜欢
方法
中医特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中数学教学改革的方法
河北画报(2021年2期)2021-05-25 02:07:46
化学反应多变幻 “虚拟”方法帮大忙
变快的方法
儿童绘本(2020年5期)2020-04-07 17:46:30
学习方法
用对方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的简单方法
山东青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
赚钱方法
捕鱼