ImageVerifierCode 换一换
格式:DOCX , 页数:66 ,大小:5.49MB ,
资源ID:1834183      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1834183.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据流分析在程序验证方面的原理与实现.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据流分析在程序验证方面的原理与实现.docx

1、数据流分析在程序验证方面的原理与实现硕士专业学位论文数据流分析在程序验证方面的原理与实现Principle and implementation of data flow analysis in program verification作者:导师:北京交通大学2018年9月学位论文版权使用授权书本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索,提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。学校可以为存在馆际合作关系的兄弟高校用户提供

2、文献传递服务和交换服务。(保密的学位论文在解密后适用本授权说明)学位论文作者签名: 导师签名:签字日期: 年 月 日 签字日期: 年 月 日学校代码:10004 密级:公开北京交通大学硕士专业学位论文数据流分析在程序验证方面的原理与实现Principle and implementation of data flow analysis in program verification作者姓名: 学 号:导师姓名: 职 称:教授工程硕士专业领域:软件工程 学位级别:硕士 北京交通大学2018年9月致谢 时光荏苒,岁月如梭。在北京交通大学三年的研究生生活己经进入了尾声。在即将毕业之际,回首往昔,一切

3、的辛苦和努力、所有的欢乐和痛苦都己化成了记忆,唯有留下的沉甸甸的知识的积淀和做人的本领,见证了我的成长。值此论文完成之际,我要向我的母校、导师、同学和所有曾关心帮助过我的人们表示最衷心的感谢。 首先,我要感谢我的研究生导师的XXX教授。他渊博的专业知识、严谨的治学精神以及和蔼的处世之道是留给我的第一印象。在读研的三年中,XXX老师给予我的,不仅是科研上的细心指导,还有思想、生活上无微不至的关怀。在撰写本论文期间,XXX老师倾注大量的时间,不厌其烦的多次帮助修改,逐字逐句进行推敲,促成了本文的顺利完成,为我的研究生生涯划上了完美的休止符。我感谢你,我的导师,成为您的学生,真乃我三生有幸。然后,我

4、要感谢我亲爱的同学们:XXX、XXX、XXX、XXX、XXX、XXX、XXX、XXX、XXX。在硕士期间研究工作中,给了我很多建设性意见,谢谢你们在最艰难的时候鼓励我。你们一丝不苟、严谨求实的科研作风都是我学习的榜样。最后,我要感谢培养我长大父母,作为您们的儿子,我感到由衷的幸福。现在,您们的孩子己经长大了,他将用他的双手报答您们给予的一切!摘要在程序验证中,人们都希望能够自动化获取一些信息来提高证明效率。数据流分析是一种典型的静态程序分析方法。将它的分析方法应用到代码验证中是一个很好的选择,但现有的数据流分析技术大部分都是完全自动化的分析技术,使用者不能够对分析过程进行干预,不能通过一些关键

5、信息来引导数据流分析的过程,从而阻碍了数据流分析技术在代码验证中发挥更大的作用;而且现有数据流分析技术都相对孤立,无法将其他数据流分析技术的结果再利用。为了在交互式代码验证过程中充分发挥数据流分析技术的能力,我们应该使数据流分析技术相互之间能够相互交流,并允许使用者在关键点上进行人工干预。本文以发挥数据流分析方法在交互式代码验证中的分析能力作为出发点,提出一套切实可行的方法和平台,来整合不同的数据流分析技术。本文实现了一个分析工具的原型,它将单链表可达性分析技术、空指针解引用分析技术整型变量取值范围分析技术整合到一起,且允许使用者进行人工干预。本文主要解决了如下问题:一是怎样对各种不同程序的性

6、质进行描述。现有的数据流分析技术关注的程序性质各不相同,为了能够更好地实现综合分析能力,我们需要对程序的性质做统一的描述。本文通过对程序性质的深入分析,使用带有递归函数的逻辑公式表示程序性质。在清晰表达程序逻辑性质的基础上,工具还有力地维护了各个性质之间的依赖关系,从而更加方便用户的理解。二是怎样使不同的分析技术相互利用它们的分析结果。在实现了对程序性质的统一描述后,本文决定以控制流图作为共享的核心数据结构,并通过引入程序点的概念将程序性质以统一的方式存贮。工具中还提供了对程序性质进行增删改操作的接口,各个分析技术在分析时能够提取已有的程序性质,并且在分析完成后回写分析得到的性质,真正实现了几

7、种不同分析技术共享程序性质的目标。三是怎样让使用者能更加方便地实现对分析过程的干预。在实现数据流分析工具之间的交互后,为了让使用者能够更好地干预和指导数据流分析的过程,本文设计了用户和工具之间的一些交互功能。在数据流分析的过程中,用户通过补充关键信息可以更好地发挥工具自动化分析的能力。关键词:数据流分析、程序验证、整型变量取值范围分析、空指针解引用分析、单链表可达性分析。中图分类号:TP311.5AbstractIn the process of program verification,people are very much hope to be able to get some info

8、rmation automatically to improve the efficiency of proof.Data flow analysis is a typical static program analysis method.Application of its analysis method to code verification is a good choice.But most of the existing data stream analysis technology is fully automated analysis technology,users can n

9、ot interfere in the analysis process,can not guide the process of data flow analysis by some key information,which hinders the data flow analysis technology to play a greater role in code verification,and existing data flow analysis techniques are relatively isolated,can not be used in other data fl

10、ow analysis techniques.In order to make full use of the capability of data flow analysis in the process of interactive code verification,we should make the data flow analysis technology to communicate with each other,and allow the user to perform manual intervention on the key points.In this paper,w

11、e analyze the capability of data stream analysis in interactive code verification,and propose a set of practical methods and platforms to integrate different data stream analysis techniques.In this paper, the realization of the prototype of a tool for the analysis,it will single linked list reach ab

12、ility analysis technology,integer variable value range analysis technology,null pointer dereference analysis technology together,and allows the user to do manual intervention.We demonstrate the effectiveness of this work in two cases.This paper mainly solves the following problems:how to describe th

13、e nature of a variety of procedures.The existing data stream analysis technology is concerned with the nature of the program,in order to better achieve the comprehensive analysis ability,we need to do a unified description of the nature of the program. In this paper,we analyze the nature of the prog

14、ram by using the logical formula of recursive functions.On the basis of the clear expression of the nature of the program logic,the tool also has the ability to maintain the dependence between the various properties,which is more convenient for the user to understand. how to make different analysis

15、techniques to use each others analysis results.After the realization of the unity of the nature of the program,this paper decides to use the control flow graph as the core data structure,and to store the program properties in a unified way through the introduction of the concept of program point.Too

16、l also provides the interface of program properties additions and deletions to the operation,each analysis technique in the analysis to extract program properties of existing,and analysis after the completion of the write back analysis of nature,truly realize the several different analysis techniques share the goal of program properties.how to make users more convenient to achieve th

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1