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

被引量 : 0次 | 上传用户:kxl_cqmu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,计算机软件系统在日常生活和工作中的地位越来越重要,而计算机软件规模也日渐庞大,其安全问题也因此而受到更多的重视。在一些安全攸关的领域,软件的高可信已经变得十分必要。提高软件可信程度的一个重要方法就是形式程序验证。在典型的形式程序验证过程中,程序员通常需要手工书写函数前后条件以及循环不变式,给程序员带来了极大的不便。同时,循环不变式的自动推断问题又迟迟没有解决。这都是形式程序验证在工业界的应用进展缓慢的原因。研究自动推断循环不变式的方法,不仅对程序验证,而且对程序分析等领域也具有重要的意义。对指针程序而言,数据结构的形状分析给循环不变式的推断乃至程序验证提供很多有用的信息。本文使用一种新的方式来解决指针程序分析验证中的困难及循环不变式的自动推断问题。我们设计了一个形状系统,要求程序员声明各种递归结构类型参与构建的数据结构的形状,并声明指针变量所指向的形状,以换取编译器或其他软件工具检查程序是否有形状错误,帮助排除所构建的形状偏离程序员期望的程序。与此同时,我们还设计了一种基于形状图逻辑的形状分析方法,为程序验证提供指针相关的循环不变形状图和函数前后条件形状图。形状图是表达程序所操作的声明指针和动态分配的结构体中域指针的指向的一种图形,它不仅准确地表达了指针之间的相等关系,还能提供其他有用信息,例如可用来查询访问路径的别名。循环不变形状图是循环不变式中关于指针部分的形状图表示,描述了循环不变式中指针之间的相等关系等信息。形状图逻辑把形状图看作程序中指针信息断言的一种图形表示,并在此基础上对Hoare逻辑进行扩展,可用于对操作易变数据结构的指针程序的分析和验证。基于形状图逻辑,采用先形状分析,后程序验证的方法,我们实现了一个程序验证器。该验证器能够验证本文所定义的各种形状的程序,并且不需要程序员提供有关数据结构形状的函数前后条件和循环不变式,但需要程序员提供非指针型数据的函数前后条件和循环不变式。本文所设计实现的方法在一定程度上解决了循环不变式自动推断的难题,为程序验证减轻了负担。
其他文献
当前国际形势下,恐怖主义活动已成为人类生命安全、生存发展和生活秩序的最大威胁。其中,劫持人质事件作为世界各国公认的最为严重的恐怖活动,呈现出公然性、突发性、暴力性
自1994年我国与internet首次联通以来已经过去了17年的时间,在这十几年间互联网企业快速地兴起和衰落,在几家成功企业的背后是众多的失败者,中国的互联网企业就在这样的背景
近年来,世界各个国家和地区都非常重视中小企业的发展,中小企业的资金问题也引起了社会各界的密切关注,传统的内源性融资渠道和外源性融资渠道存在诸多的局限性,只能在一定程
目的应用脱水治疗脑出血颅内高压患者的护理干预。方法选择我院于2015年8月~2018年1月间收治的81例脑出血颅内高压患者,均给予基础脱水治疗,按照随机数字表法将患者划分为观
银行贷款很难取得是中小企业融资难的主要情况。随着互联网的发展,P2P网贷作为一种借助互联网和现代先进的移动通信技术,实现资金流通、支付和中介功能的新兴金融模式,为中小
随着全球经济的一体化,企业之间的竞争越来越激烈。企业的主体是人,人才在激烈的社会竞争中起着至关重要的作用,如何吸引、培养和留住优秀员工,从而在竞争中获得优势是企业面
新世纪以来互联网的浪潮席卷了现代社会,也给人们带来了全新的商业文明,B2C(Business-To-Consumer)电子商务这一商业模式正是新浪潮中最让人激动人心的部分。以统计学为主要
以《焦点访谈》为代表的电视新闻述评(以下简称电视述评)开启了中国电视评论的新时代。它充分发挥电视媒体的声画特色,融形象性、现场性、动态性等为一体,客观叙述与主观评论
高速铁路是当今世界铁路高新技术的一项重大成就,在世界许多国家都得到了很好的应用,并已成为世界铁路发展的普遍趋势。在这种背景下,高速铁路客站必然成为当今建筑界广泛关
互联网最初创建就是为了提供一个平台以便促进用户之间的信息交流。社会媒介是web2.0的发展方向之一,基于社会媒介而形成的社会媒介公共空间本质上强调参与者话语的开放、分