安全C语言验证器的形状系统的扩展设计与实现

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:sbau_1019
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机技术的不断发展,软件已经融入到人们的日常生活和工作生产中,而随着软件规模和复杂度的不断攀升,软件的质量依旧不尽如人意,由此造成的问题对于安全攸关的领域威胁极大。提高软件的可信度是大势所趋,其中基于演绎推理的形式化验证方法就是主要研究方向之一。本课题组设计并开发了安全C语言验证器,它是一款基于演绎推理的C语言程序验证工具,采用了霍尔逻辑和形状图逻辑。形状系统是安全C语言验证器对于形状图逻辑的实现,用于完成堆指针相关程序语句的演算,并限制程序能够使用的易变数据结构及其相关操作。本工作针对形状系统中存在的不足,实施了一系列改进和扩展。第一,扩展了形状系统的演算操作。通过为节点定位演算扩展角标表达式相关的操作规则,把该演算扩展到适用于带角标的指针访问路径的场合,解决原本指针访问路径抽象表述能力不足的问题。此外,本工作还通过函数调用窗口的概念,细化和实现了形状图逻辑中最复杂的函数调用规则,使得形状系统能支持带函数调用语句的验证。第二,改进了形状图的构造方法。形状图构造方法用于从描述堆指针性质的符号断言构造等价的形状图,以便形状系统能够根据构造得到的形状图对堆指针操作语句进行演算。本工作为该方法引入了内置形状谓词,用以简化和复用部分断言描述,并对不同类型的断言施加明确的操作语义,使得形状系统可以正确还原断言描述的形状图,并发现断言中的错误。此外,本工作还引入了自定义谓词到内置形状谓词的推断方法,以尽可能规避内置形状谓词引入后造成的冗余表述的问题。第三,引入了形状检查方法。形状检查方法用以检查程序使用的易变数据结构是否符合安全C语言的相关限定。为表示检查操作的不同严格程度,本工作为形状检查方法引入不同的形状级别,并通过形状分割、形状分析和形状推断这三个阶段分解由易变数据结构中不同指针域带来的复杂性。另外,本工作还通过实现显式形状检查和隐式形状检查,简化形状检查方法的使用。通过本文工作,扩展后的形状系统可以处理表述能力更强、更为复杂的描述形状图的断言,能够支持含有函数调用的程序的演算,并且能够灵活便捷地完成对于易变数据结构是否符合形状定义的检查,最终使得形状系统的功能和性能得到改善。
其他文献
本文从建立体育科研方法论的实际需要出发,将体育科学研究投映于人类科学研究的宏观背景上,以自然科学研究和社会科学研究为参照系,分析了体育科学研究的“两栖性”和“主客体同
顶板控制工作是矿井安全管理的重要组成部分,准确掌握顶板来压步距、周期、强度等数据,对科学制订针对性措施有着重要意义。裴沟煤矿利用KBJ-60Ⅲ矿压观测系统对该矿31071首
脑血栓又叫做动脉硬化性脑梗死,临床中该疾病比较多见,是脑血管疾病的一种,主要是老年群体容易患有此病,该级别具有非常高的致残几率,能够让患者死亡或残疾。康复的时候需要
日语中“请求”表现是日常生活中不可或缺的表达方式之一。至今为止,学术界已经从对照研究、谈话构造、礼貌原则等不同观点对日语的“请求”表现进行了研究。但是,仍然有一些问
本文研究参加1994年全国田径锦标赛暨亚运会选拔赛女子标枪决赛运动员最后用力时投掷臂动作,力求揭示最后用力时投掷臂动作变化的内在规律,分析我国运动员最后用力时投掷臂动作存在
作者论述了在社会主义市场经济条件下,竞技运动产业面临资金短缺和自身“造血”功能不完善之困惑,而商业银行渗入竞技运动产业,在运作过程中就有其物资保障,同时商业银行的投
投资活动是公司财务活动的核心部分,合理的投资决策直接关系到企业的价值提升和可持续发展。习近平总书记在党的十九大报告中明确突出强调了推进有效投资和落实投资主体地位的重要性和必要性。然而,在国际政治环境的不可预测、经济转轨时期的不稳定和信息流通滞后的现实背景下,市场和技术的不断变化使得企业面临的宏观环境更加的错综复杂,其投资活动受此影响也会有所波动。环境不确定性是否会造成企业非效率投资,成为一个值得探
改革开放以来,沿海中等城市的社区体育随着市民生活水平的提高有了很大发展,作者针对目前社区体育的管理和组织协调;使用健身场馆设施,进行技术指导的有偿服务等现状进行了分析,并
学生工作,应该树立“以学生为本”,培养“服务意识”,在学生工作的内容、形式和方法等方面进行不断创新,通过在实践中不断检验,建立起科学高效务实的班主任工作机制,最终让学生在一
在分析了国内创新能力培养的主要路径基础上,提出了一种整合实验研究和网络资源基于课题的创新能力培养模式。在理论教学快速提升学生创新理论知识的同时并行实践教学过程,由学