资源描述:
《一种基于覆盖测试的动态切片的计算方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第22卷 第2期应用科学学报Vol.22,No.22004年6月JOURNALOFAPPLIEDSCIENCESJune2004文章编号:025528297(2004)0220205206一种基于覆盖测试的动态切片的计算方法易 彤, 吴方君(东南大学计算机科学与工程系,江苏南京210096)摘 要:针对现有动态切片方法的缺陷,提出了一种基于覆盖测试的动态切片的计算方法.该方法的关键是建立一个基于覆盖测试的动态依赖图,它既利用动态执行信息又利用静态信息.文中提供的动态切片方法还克服了以往动态切片方法的缺点,即动态切片不会因切片标准变化而重新计算.关键词:程序分析;程序切片;动态切片;软件测试中图
2、分类号:TP311文献标识码:AAnApproachforComputingDynamicSlicingBasedonCoverage-TestingYITong,WUFang2jun(DepartmentofComputerScience&Engineering,SoutheastUniversity,Nanjing210096,China)Abstract:Dynamicslicingisanimportantapproachtoanalyze,understandandmaintainpro2grams,whichhasbeenwidelyusedinactivitiesofsoftwa
3、reengineeringandreengineering.Inthispaper,theexistingmethodsbasedongraphreachabilityarefirstlyanalyzed,andacoverage2test2ing2basedmethodforcomputingdynamicprogramsslicingisthenpresented.Thekeyofthismethodistoconstructacoverage2testing2baseddynamicdependencegraph(CTDDG),whichmakesuseofbothdynamicinfo
4、rmationandstaticinformationtogetexecutiondependencies.Be2sidesefficiency,ourapproachovercomesthelimitationsofpreviousdynamicslicingmethods,whichhavetoredoifslicingcriterionchanges.Keywords:programanalysis;programslicing;dynamicslicing;softwaretesting 动态切片是一种重要的程序分析、理解与维护反复进行动态切片以便为测试服务,这无疑降低了方法,在软件
5、维护、程序调试、测试、理解、优化和并测试效率.同时,在白盒测试时,如何选取典型的少[1,2]而精的测试路径也是提高测试效率、保证测试质量行性分析等方面得到了广泛的应用.目前,研究[2~7]和降低软件成本的关键之一.因此有必要引入一种者提出了众多计算动态切片的方法,如基于动[4]科学有效的专门针对测试的动态切片方法以提高效态依赖图(DDG)的方法、Agrawal的基于简化动率和降低盲目性.[4]态依赖图(RDDG)的方法、Tibor通过执行记录在[8~11]为此本文在已有工作的基础上结合程序[6]定义ö使用程序表示的基础上迭代求解动态切片.依赖图和动态依赖图的优点,提出了基于覆盖测试这些方法不是
6、精度不高,就是效率低下;而且当切片的动态依赖图.首先选取程序中的部分路径作为测标准发生变化,大多数的动态切片方法需要通过重试路径,然后通过分析节点间的依赖关系建立基于[2]新构建程序的图形表示来重新计算切片结果.为覆盖测试的动态依赖图,在此基础上设计了一种动了尽可能多地发现软件中的错误,往往需要对软件态切片方法,最后对该方法给出了一定的评价和实收稿日期:2003208208;修订日期:2003211217作者简介:易彤(19752),男,江西宜春人,博士生.206应 用 科 学 学 报22卷 例分析.记作con2pm,n+1;如果sn是程序P的最后一个语句,则语句序列〈sm〉称为一条条件路径,
7、记作con21 基于覆盖测试的动态依赖图pm,end.定义3 对于程序P中的循环语句while〈con21.1基本概念和定义ditions〉do或for〈conditions〉do,其语句序列是〈sm白盒测试(又称结构测试)是一种重要的软件测⋯sn⋯st〉,且m≤n≤t.则程序P中含有循环路径,试方法,按照程序内部的逻辑来测试,以检验程序中当且仅当如下条件成立:的每条路径是否都能按预定要求正确工作