- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
区间运算中提高循环处理精度的研究
刘莉, 金大海, 宫云战
((北京邮电大学网络与交换技术国家重点实验室, 北京 100876)
摘 要 循环语句大量应用于程序开发中,但是在静态 Key words : static analysis; interval computation; Loop
分析领域,对循环语句的处理还很不完善,存在着不终 processing ; Widening/Narrowing operator
止和迭代不收敛等一系列问题。传统的循环处理策略所
涉及的程序语义信息有限,无法应用于静态分析缺陷检 根据是否运行被测程序,软件分析可分为静
测中。本文提出一种基于符号运算和抽象解释理论中 态分析和动态分析。静态分析是一种在不执行程
Widening/Narrowing 算子的循环处理方法,并将其应用 序的情况下对代码进行评估的技术,它通过对当
于区间运算之中,以提高检测精度。本文所述方法已在 前状态及趋势的分析来预判软件未来运行时可能
缺陷检测系统(DTSGCC)中实现,对大量 Linux 中 GCC 出现的情况。
开源工程的测试结果表明,本文提出的方法可以提高区 由于只有在程序运行时才能准确获得程序中
间运算中循环处理的精度,减少潜在的误报。 变量及表达式的取值,因此区间运算被广泛应用
关键词: 静态分析;区间运算;循环处理;Widening/ 于软件测试领域, 以计算变量当前可能或确定的
Narrowing 算子 取值范围,有效的减少静态分析过程中的精度损
中图法分类号: TP311 失。
文献标识码: A 程序开发中大量应用循环语句,但是在静态
分析领域,对循环语句的处理还很不完善,存在
Research on Improving the Accuracy 着不终止和迭代不收敛等一系列问题,传统的循
环处理策略来源于编译器理论中的循环优化策略
of Loop Processing in Interval [1] ,如循环展开(Loop Unrolling) ,冗余表达式消
除等,但由于它们所涉及的程序语义信息有限,
Computation 无法应用于静态分析缺陷检测中。
LIU Li, JIN Dahai, GONG Yunzhan 本文借鉴区间运算的思想,将抽象解释理论
[2]
(State Key Laboratory of Networking and Switching 应用于静态分析中,提出一种基于符号执行和
Technology, Beijing University of Posts and 抽象解释理论的循环处理方法,该方法在区间运
Telecommunications, Beijing 100 876, China) 算中基于符号执行理论对变量取值区间进行抽象
文档评论(0)