菜单
  
    软件修改影响分析对软件文护和回归测试有着重要作用,得到了业内人士的大量研究,在20多年的发展中,产生了很多软件修改影响分析方法和技术,为实践人员在实际软件文护时提供了参考。
    1  面向过程的CIA 27212
    关于修改影响分析的最早讨论是在1988年,[3]介绍了一种关于模型的修改影响分析技术,主要基于程序的数据流图进行研究,之后又出现了一些基于程序/功能控制流图的研究。后来,Leung和White提出了防火墙(Firewall)方法[4],防火墙可以用来将受程序修改影响的部分与其它部分分离,将受修改影响的部分放在防火墙内。1992年,他们又提出了关于数据防火墙概念[5],这种防火墙隔离的是受影响的数据相关模块。Agrawal等人使用一种名为程序切片[6]的方法,提出可以利用程序切片技术进行修改影响分析。2003年,文献[7]中提出了以状态模型为基础的切片技术,文中主要是关于系统测试方面的讨论,利用形式化语言基于模型测试来测试软件系统模型。论文网
    目前常用的修改影响分析技术有基于模型的影响分析,基于静态语法依赖关系的影响分析,基于耦合关系的影响分析,基于执行的影响分析,基于修改历史库挖掘的影响分析等[1]。在传统软件中,依赖分析技术是一种主要的分析技术,一般基于程序依赖关系可以建立适当的修改影响分析模型,比如调用图,控制调用图,依赖图等。
    2  面向对象的CIA
    由于面向对象语言的发展,相应的回归测试技术需要得到进一步的关注和提升。在面向对象的回归测试中,修改影响分析主要研究对象是类和对象。在面向对象软件中,研究人员基于面向对象模型建立了对象关系图、模块分支图等,并提出了类防火墙的算法进行修改影响分析。Rothermel等人[8]首先在面向对象环境中使用CIA技术,他们用算法构造一个程序依赖图(PDG)来表示数据和控制依赖。Abdulla等人[9]则将防火墙概念引入到了面向对象软件的CIA过程中,将程序中的模块具体化到类和对象,把修改的和与之关联的类、对象放到防火墙内。由于类之间关系和对象之间的关系不同,所以类防火墙和对象防火墙的构造方法有所不同。YKJane等人描述了一种在类层次上的CIA方法[10],这种方法基于类防火墙但有一些差别,它是以成员函数作为一个测试单元进行修改影响分析。2001年,BG.Ryder和F.Tip[11]认为CIA能够为程序修改在语义上产生的影响有一种反馈机制,为了简化分析,他们用类、方法、域和相互关系作为修改的原子单位,利用调用图(CG)来分析面向对象的各种复杂关系。此外,还有研究人员提出通过对象依赖关系和程序切片技术等进行影响分析等方法。
    总之,现在主流的方法是利用类之间的关系鉴别修改和修改影响,这样实现容易,但是重测的子集并不是最小的,一个类的修改会重测与该类相关的所有测试用例,但其中很多用例并没有涉及到修改和修改影响的部分。所以有研究将面向对象修改影响分析的粒度细化到语句级别,分析每一个语句与方法之间的数据依赖和控制依赖,但这样无疑复杂度非常高。
    总的来说,经过20多年的研究,软件修改影响分析取得了丰硕的研究成果和发展,但其还远不能达到成熟的标准,修改影响分析仍在基础理论支撑、工具支持、评价机制、拓展性和跟踪性、精确性与安全性之间的权衡等方面面临一些挑战和问题,需要更加深入的研究
  1. 上一篇:红外诱饵剂添加剂研究现状
  2. 下一篇:货币传递机制国内外研究现状
  1. 大学生医保满意度影响因素研究

  2. 时频分析方法的研究现状

  3. 金融发展影响产业结构优化国内外研究现状

  4. 风险投资行业技术创新影响研究现状

  5. 互联网金融对商业银行的影响研究现状

  6. 智能交通数据分析国内外研究现状综述

  7. 物流效益分析国内外研究现状和发展趋势

  8. 乳业同业并购式全产业链...

  9. 十二层带中心支撑钢结构...

  10. 杂拟谷盗体内共生菌沃尔...

  11. 河岸冲刷和泥沙淤积的监测国内外研究现状

  12. 大众媒体对公共政策制定的影响

  13. 酸性水汽提装置总汽提塔设计+CAD图纸

  14. 电站锅炉暖风器设计任务书

  15. java+mysql车辆管理系统的设计+源代码

  16. 中考体育项目与体育教学合理结合的研究

  17. 当代大学生慈善意识研究+文献综述

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回