- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第36卷第5期 北京工业大学学报 V01.36No.5
OF UNIVERSITYOFTECHNOLOGY Mav2010
2010年5月 JOURNALBElJING
基于关键分支的不可行路径确定方法
潘丽丽1,邹北骥2,王天锷3,陈浩2
(1.中南林业科技大学计算机信息与工程学院,长沙410004;2.中南大学信息科学与工程学院,长沙410081;
3.湖南省送变电建设公司调试所,长沙410017)
摘要:不可行路径增加程序复杂度和冗余度,产生无效DU链,影响程序分析工具的分析结果.有效地确定不
可行路径,可以优化路径测试,完善数据流分析、程序切片等程序静态分析工具.在深入分析不可行路径的基础
上,提出一种基于关键分支的不可行路径确定方法.该方法利用程序的值依赖关系和控制依赖关系、确定关键
分支,通过关键分支查找不可行路径.结果表明,基于关键分支的不可行路径确定方法花费较少的信息存储,有
效地节省不可行路径的确定时间.
关键词:不可行路径;关键分支;值依赖;控制依赖
中图分类号:TP311 文献标志码:A 文章编号:0254—0037(2010)05—0716—05
静态分析是分析程序结构的一种重要思想,静态分析的方法很多,如数据流分析方法、程序静态切片
方法和软件测试中的路径测试…等,这些方法都是在软件执行前进行的捧1.通过静态方法分析程序,软件
人员可以获得许多重要的信息,但静态分析的前提是假设程序中的所有路径都是可执行的¨1,事实1-.,这
种假设并不一定和程序的实际运行情况相符,程序中的不可行路径会产生没有价值的DU链怛1;从代码优
化角度,不可行路径会导致存储空间的浪费,如果占用高速缓冲空问则会降低程序的运行速度.
文献[3-4]阐述了不可行路径对程序结构、路径测试、测试用例的生成所产生的影响.文献[1]提出
一种需求驱动的方法查找不可行路径,该方法对某个判断谓词发出查询,然后再进行谓词逻辑的判断.这
种方法要求查询与谓词引用变量相关的所有节点,事实上,某些节点虽然与该变量相关,但与谓词逻辑的
联系不大甚至没有联系,因此,针对这些节点的查询将导致整个分析过程的冗余度增加;同时,由于测试人
员需要对程序本身进行分析,如果被分析程序的版本不一致可能会导致产生错误的分析结果.文献[5]利
用抽象解释方法分析不可行路径,其实质是沿着某条路径跟踪变量的值,分析谓词间的逻辑关系,这种方
法的思想和需求驱动方法的思想实际是相同的.文献[6]分析了由于指针所导致的不可行路径,并提出了
一种针对动态指针结构的测试数据生成方法,利用生成的数据可以找到程序中由指针所导致的不可行路径.
本文利用程序数据流分析中的控制依赖及数据依赖,结合SSI(staticsingle
于关键分支的不可行路径确定方法.实验表明,该方法能快速地确定不可行路径,且信息存储较少.
1不可行路径
E
控制流图是一个有限有向图,表示为G=N,E,其中,Ⅳ表示节点集,n表示节点,nN,代表程序
收稿日期:2009.12.10. 。
次人才项目(104-0091).
作者简介:潘丽丽(1977一),女,湖南株洲人,讲师.
第5期 潘丽丽.等:基于关键分支的不可行路径确定方法 717
(entry节点除外)和直接后继节点集(exit节点除
外).值依赖边e;:菇一,,,是指语句茗为变量赋值,且
语句Y使用了该赋值的变量,并且从并到Y中间该变
量没有被再赋值.控制依赖边e,:石.+,,,是指语句Y的
执行取决于条件语句菇的值.
为理解不可行路径,先分析2个程序段.图1(a)
中:厅I-.-+/7,2一K一‰是不可行路径;图1(b)中:nt—
n,--,.it,一n,是不可行路径.但图1(a)和图1(b)产生
不可行路径的原因是不同的:前者是因为P,的真分
支可以推断P:的布尔值;后者是由于n。处变量移的 (a)程序片段A
您可能关注的文档
最近下载
- 意大利语基础单词与日常用语修订稿.docx VIP
- 2025南方电网文山供电局招聘短期项目制用工(35人)笔试模拟试题及答案解析.docx VIP
- 中文版新视线意大利语中级练习手册.docx VIP
- 山东科学技术版劳动实践指导手册一年级全册教学设计教案.pdf
- 山东科学技术版劳动实践指导手册二年级全册教学设计教案.doc
- 2025至2030年中国淫羊藿提取物行业市场竞争态势及发展前景研判报告.docx
- chiavi del Quaderno degli esercizi新视线意大利语初级练习册答案.pdf VIP
- 主、被动防护网施工组织设计方案.docx VIP
- 山东科技出版社劳动实践指导手册二年级第1课清洁与卫生小件衣物清洗洗内衣 教案.doc VIP
- 山东科技出版社劳动实践指导手册二年级第2课清洁与卫生小件衣物清洗洗袜子 教案.doc VIP
文档评论(0)