基于抽象语法树的修改影响分析方法

2012-08-16 01:10:12侯秀萍孙士明
长春工业大学学报 2012年4期
关键词:定义程序影响

高 灿, 侯秀萍, 孙士明

(长春工业大学 计算机科学与工程学院,吉林 长春 130012)

0 引 言

在软件测试和维护过程中,一旦发现软件系统中存在错误,则应立即排除它们,为了保证程序的修改没有引入新的错误,则必须对其进行回归测试。为了节省测试成本、提高测试效率,回归测试只需要测试那些由于修改而受到影响的部分[1]。

面向对象程序中,多态允许对同样的请求可以有不同的响应,动态绑定允许在程序运行时才决定它的执行体,类的继承和使用过程使得面向对象程序具有模块化、层次化和有利于代码重用等优点,但同时又使得程序修改的扩散效应更加明显[2]。例如,继承使得一个类的成员变量和成员函数能够被一些子类所重用[3],所以,当修改父类的时候就会导致与它相关的类也要在回归测试的过程中重新进行测试。

在回归测试中,重新测试所有的类从测试代价和成本上讲是完全没有必要的,仅测试那些修改的内容和修改影响到的内容就能够达到和全部重测同样的效果。杨芙清[4]等通过分析面向对象软件系统的特性,定义了对象之间的依赖关系,通过依赖关系导出测试对象的方法序列。Rothermel[5]等提出通过构建程序依赖图(Program Dependence Graph)来表示数据依赖和控制依赖,并找出关于继承、封装和多态等构造关系的子类和其它类[6]。

文中针对面向对象程序具有继承、封装、多态等特点,深入研究了程序修改的影响范围,提出了基于抽象语法树的修改影响分析方法,为测试人员提供合理的测试范围,期望能够达到减少回归测试花销,提高测试效率的目的。……

登录APP查看全文

猜你喜欢
定义程序影响
哪些顾虑影响担当?
当代陕西(2021年2期)2021-03-29 07:41:24
试论我国未决羁押程序的立法完善
人大建设(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么样
英国与欧盟正式启动“离婚”程序程序
环球时报(2017-03-30)2017-03-30 06:44:45
扩链剂联用对PETG扩链反应与流变性能的影响
中国塑料(2016年3期)2016-06-15 20:30:00
成功的定义
山东青年(2016年1期)2016-02-28 14:25:25
创卫暗访程序有待改进
中国卫生(2015年3期)2015-11-19 02:53:32
修辞学的重大定义
当代修辞学(2014年3期)2014-01-21 02:30:44
山的定义
公务员文萃(2013年5期)2013-03-11 16:08:37
教你正确用(十七)
海外英语(2006年11期)2006-11-30 05:16:56