- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于抽象解释迹划分技术研究
基于抽象解释迹划分技术研究
摘 要:确保程序中没有运行时错误,对于软件安全性的保证十分重要。基于抽象解释的静态分析方法对程序语义进行抽象,是验证运行时错误最合适的形式化方法之一。然而抽象解释对于程序语义的抽象可能导致过近似问题,从而引发误报,降低了分析精度。因此提出了迹划分的技术,根据程序的迹对程序控制流图进行划分,对静态分析过程进行局部细化,减少了抽象解释过程中过近似引发的误报。迹划分技术以局部分析效率降低为代价换来了分析精度的提高。
关键词:抽象解释;迹划分;静态分析;运行时错误;软件安全性
中图分类号:TP311 文献标志码:A
Research on Trace Partitioning Based on Abstract Interpretation
ZHANG Chi,DING Ze-wen,LIU Lin-wu
(College of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing,Jiangsu 211106,China)
Abstract:Ensuring the absence of run-time errors in the program is important for the software safety.The program semantics was abstracted by the static analysis method based on abstract interpretation.It is the most appropriate formal method for validating run-time errors.However,the over-approximation of program semantics by the abstract interpretation may lead to false alarms,which reduce the accuracy of analysis.So the technology of trace partitioning was proposed.The control-flow-graph was partitioned according to the trace,and then the process of static analysis can be local refinement.The method reduced the false alarms caused by over-approximation.Trace partitioning obtains higher analytical accuracy at the cost of reduction of local analysis efficiency.
Key words:abstract interpretation;trace partitioning;static analysis;run-time error;software safety
1 引 言
近几年来,安全关键领域中,如何保证软件安全性已经成为了一个广受关注的重要课题,如何提高软件质量,保证系统安全性,防止灾害事故的发生,已经成为当前工业界和学术界的重要研究课题[1]。程序的运行时错误是一类特定的软件错误,是指程序在运行时或运行后发生的错误,并不是软件需求和设计阶段引入的问题,而是由于违反程序语言的安全性规范而引入的问题[2],例如某条程序执行路径可能存在除数为零或者数据越界的情况。
对于运行时错误,工业界常用的仿真、模拟、测试等手段可以发现大部分错误,但却无法保证软件中没有运行时错误。形式化分析与验证方法是保障软件安全性和可靠性的一种重要方法[3]。目前常用的形式化静态分析方法有模型检测[4]、定理证明[5]和抽象解释[6]。模型检测需要穷举所有状态空间,存在状态空间爆炸的问题;定理证明需要大量人工参与,难以自动化。抽象解释对程序语义进行抽象,将程序的具体语义转化到抽象域中对程序的性质进行分析。其根据需求对程序语义进行近似,调节静态分析的精度和效率,是目前对运行时错误进行分析和验证十分有效的方法。
抽象解释方法通过将程序的具体执行过程转化到状态迁移系统,在抽象环境中分析状态的可达性,用以验证实际执行时是否满足某一性质。在以程序控制流图表示程序具体的执行过程时,该过程本身可能导致过近似问题,导致在验证某些程序性质时引发误报。例如,我们考虑图1中C程序片段
您可能关注的文档
最近下载
- 北京市西城区2025-2026学年高一上学期期末考试 物理含答案 .pdf VIP
- 微生物发酵机制.pptx VIP
- 施工场地已具备施工条件的证明.doc VIP
- 2025年福州城市建设投资集团公司治理结构组织架构和部门职能.docx
- GM_T 0027-2014 清晰版 智能密码钥匙技术规范.docx VIP
- 2025年轮机英语问答题答案全 .pdf VIP
- 微生物代谢产物发酵.pptx VIP
- 新教材-普通高中教科书物理教师用书选择性必修1 电子版.pdf VIP
- 砖厂突发环境事件应急预案.pdf VIP
- 高中政治部编版必修四《哲学与文化》全册知识点填空练习(分单元课时编排)(附参考答案)(2023秋最新版).pdf VIP
文档评论(0)