指针程序分析以及循环不变形状图推断

指针程序分析以及循环不变形状图推断

ID:32250339

大小:5.01 MB

页数:59页

时间:2019-02-02

指针程序分析以及循环不变形状图推断_第1页
指针程序分析以及循环不变形状图推断_第2页
指针程序分析以及循环不变形状图推断_第3页
指针程序分析以及循环不变形状图推断_第4页
指针程序分析以及循环不变形状图推断_第5页
资源描述:

《指针程序分析以及循环不变形状图推断》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、摘要摘要近年来,计算机软件系统在日常生活和工作中的地位越来越重要,而计算机软件规模也日渐庞大,其安全问题也因此而受到更多的重视。在一些安全攸关的领域,软件的高可信已经变得十分必要。提高软件可信程度的一个重要方法就是形式程序验证。在典型的形式程序验证过程中,程序员通常需要手工书写函数前后条件以及循环不变式,给程序员带来了极大的不便。同时,循环不变式的自动推断问题又迟迟没有解决。这都是形式程序验证在工业界的应用进展缓慢的原因。研究自动推断循环不变式的方法,不仅对程序验证,而且对程序分析等领域也具有重要的意义。对指针程序而言,数据结构的形状分析给循环不变式的推断乃至程序验证

2、提供很多有用的信息。本文使用一种新的方式来解决指针程序分析验证中的困难及循环不变式的自动推断问题。我们设计了一个形状系统,要求程序员声明各种递归结构类型参与构建的数据结构的形状,并声明指针变量所指向的形状,以换取编译器或其他软件工具检查程序是否有形状错误,帮助排除所构建的形状偏离程序员期望的程序。与此同时,我们还设计了一种基于形状图逻辑的形状分析方法,为程序验证提供指针相关的循环不变形状图和函数前后条件形状图。形状图是表达程序所操作的声明指针和动态分配的结构体中域指针的指向的一种图形,它不仅准确地表达了指针之间的相等关系,还能提供其他有用信息,例如可用来查询访问路径的

3、别名。循环不变形状图是循环不变式中关于指针部分的形状图表示,描述了循环不变式中指针之间的相等关系等信息。形状图逻辑把形状图看作程序中指针信息断言的一种图形表示,并在此基础上对Hoare逻辑进行扩展,可用于对操作易变数据结构的指针程序的分析和验证。基于形状图逻辑,采用先形状分析,后程序验证的方法,我们实现了一个程序验证器。该验证器能够验证本文所定义的各种形状的程序,并且不需要程序员提供有关数据结构形状的函数前后条件和循环不变式,但需要程序员提供非指针型数据的函数前后条件和循环不变式。本文所设计实现的方法在一定程度上解决了循环不变式自动推断的难题,为程序验证减轻了负担。关

4、键词:形状图逻辑形状系统程序验证形状分析循环不变式IAbstractAbstractInrecentyears,softwaresystemsarebecomingmoreandmoreimportantforeverydaylifeandworkwhilethescaleofsoftwaresystemsislargerandlarger.Therefore,peoplemustpaymoreattentiontothepropertiessuchascorrectness,safetyandsecurityofcomplicatedsoftwaresystems.

5、Itisnecessarytousehigh-confidencesoftwareinsomeareasofsafety-critical.Formalverificationisamajormethodtoimprovethedependabilityofthesoftware.However,inthephaseoftypicalformalverification,itisinconvenientforprogrammersthattheyusuallyprovidepre-/post-conditionsandloopinvariantsmanually.At

6、thesametime,thereisnotaprefectmethodforloopinvariantinference.Thus,itisslowlythattheproductofformalverificationbeappliedintheindustryyet.Itisofsignificancetofindamethodtoinferenceloopinvariantautomaticallyforprogramanalysisandprogramverification.Totheprogramsdealingwithpointers,wecanobt

7、ainmuchusefulinformationforloopinvariantinferenceandprogramverificationbyshapeanalysis.ThispaperusesanewmethodtosolvetheproblemsofAnalysisandverificationofprogramsdealingwithpointersandloopinvariantinference.WehavedesignedasystemnamedshapesystemforthePointerCprogramminglanguage

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。