使用显式控制流语言验证汇编程序的方法

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:kkkkkkkkkksssssssss
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着程序员和用户对计算机系统软件和可执行程序安全性和正确性的要求不断提高,程序验证以其可靠而高精确的验证结果,在计算机领域已经越来越受欢迎。验证一个程序具体是指使用正规的数学方法,证明该段程序满足特定的由其规范描述的属性。近年来,为了使得被验证程序的正确性不依赖于庞大复杂的编译器的正确性,越来越多的程序验证工作选择直接在机器语言或者汇编语言上进行。然而,验证汇编程序具有很大的困难,因为汇编语言不具备高级语言中的非常清晰的抽象机制的结构(如循环体结构、函数结构等),来帮助程序的理解和验证。在汇编语言中,仅有的结构为由一连串顺序指令组成以跳转指令结尾的程序代码的基本块。因为缺乏结构化的抽象机制,为了能够一致地验证各种抽象机制,已有的汇编语言级程序验证系统只能选择忽略所有的抽象机制,使用基本块作为验证的基本单元,将所有的程序代码都以延续传递风格(Continuation Passing Style,简称CPS)来理解和验证。因为对程序中抽象机制意义的破坏,CPS风格的验证系统很难能够被用来验证大的软件系统。另外,CPS逻辑验证系统一般仅能够验证汇编程序的安全性,却很难保证它们的部分正确性。本文提出了上述问题的解决方法,其主要内容及贡献包括:本文提出了一个验证汇编程序的新方法。该方法能够直接在汇编级验证程序的部分正确性而不丢失对程序原有机制的理解。原有汇编级程序验证系统的程序验证步骤为:首先直接在汇编程序实际代码上为每个基本块提供规范,之后使用系统的推理规则进行验证。在本文的提出的方法中,我们引入显式控制流语言CFEL(Control-Flow-Explicit Language的简写)这个介于程序规范和汇编程序实际代码之间的辅助结构。顾名思义,我们使用CFEL来描述程序的控制流,并在验证时使用控制流来代表程序本身。CFEL结构简单却具有强大的表达力,能够描述包括函数调用和返回、异常处理、嵌入代码指针、自修改代码等各种程序机制的控制流。在一个程序实际被验证前,我们首先通过使用CFEL描述各段程序的控制流来辅助程序的验证。而验证所需要的规范将会直接提供给CFEL描述的控制流段。在CFEL的基础上,我们提供的一套结构简单、模块化并且适用性广的具体验证系统TCAP(Trail-Based Certifying Assembly Programming的简写)。TCAP的推理规则用来保证CFEL描述的各个控制流块确实是实际程序的正确控制流,并且各个控制流块的执行特性满足所提供的规范。带有各种不同程序抽象机制的汇编程序可以在TCAP这一个验证系统中验证,不需要使用不同系统对各个不同的抽象机制进行验证后将证明想办法链接在一起。因为CFEL已经描述了程序的控制流信息,TCAP中的规范以及规则都相对简单和易用。本文还提供一些使用TCAP来验证具有各种抽象机制的实际程序的例子。本文为TCAP提供了一套基于步指标的语义模型。其中步指标指的是程序关心的需要保证安全的程序执行步数。为一套支持多重程序抽象机制的验证系统提供语义模型是相当困难的工作,很多汇编级验证系统也因此选择使用语法的方法来证明其可靠性。语义模型为验证系统的推理规则定义具体的意义,从而使得系统更易扩展。另外,相比于语法方法,语义方法的模块性和泛型性也是其非常重要的优势之一,为验证系统提供一个简单易懂的语义模型已经成为计算机理论中很多重要研究工作的主要内容。本文中提供的语义模型简单易懂却不失强大的表达力。整个语义模型基于简单而直观的带有步指标的操作语义而不需要任何复杂理论,却可以解释支持包括嵌入代码指针在内的大量程序抽象机制的验证系统,稍微扩展后甚至可以支持高阶框架规则。而与潜入代码指针机制结合的高阶框架规则的语义支持是目前局部验证领域中的公认难点问题之一。
其他文献
目的探讨脾脏肿瘤的MRI表现,评价MRI在脾脏的诊断、定性中的价值。方法回顾分析了21例经手术病理证实的脾脏肿瘤磁共振影像学特征,并与术后病理结果进行对照分析。结果在21例
<正>有关线段和差最值问题是近年来中考的一个热点,而且一些省市都出现在压轴题中.解决这类问题的关键通常是在所给的图形中,如何将直接或需要构建的几何模型"折"图转化为"直
本文研究了基于脉冲控制的迫弹末段修正系统的相关理论和方法,重点分析了脉冲发动机工作级数选择和修正控制策略,提出了二次判断修正控制策略,并进行了系统硬件结构和软件流
语文课堂教学艺术首先是语文教师的语言艺术。教师的语言是语文学科传递教学信息的工具,是培养学生听、说、读、写能力的媒介,是学生学习现代汉语的典范参照,语文教学语言艺
随着我国工业化进程的不断加深,以技术创新为核心的产业技术进步,已在经济发展中发挥越来越大的作用。我国研究了发达国家的产业技术创新联盟对产业进步的推动作用后,提出了
目的为零售药店药品陈列和销售提供参考。方法对零售药店药品陈列情况进行调查,分析药品陈列现状及在销售中的作用。结果药品陈列位置、方式与药品销售有一定相关性。结论零
人才评价是指运用先进的科学技术和手段,对各类人才的知识水平、能力极其倾向、工作技能、发展潜力实时测量和评价的人事管理活动。大学阶段,是从学校向社会过渡的关键时期。
<正> (综述)硝苯吡啶(Nifedipine—心痛啶)是一种抗心绞痛药物,目前国内有关这方面的资料所见不多,而国外近几年则有较多的论文和专题讨论。尤其在临床应用上提出不少新概念
银杏叶提取物是从植物药银杏叶中提取的主要有效成份,近年国内外对它的药理作用机制作了大量研究,发现银杏叶提取物能通过保护血管内皮细胞、抗炎症、抗氧化应激、抑制血小板
近年来,随着我国社会经济的发展及低空空域管理改革的推进,国内开始出现大量通用航空运营企业。本文研究遵循经典的战略管理研究方法,针对环渤海地区通用航空企业发展的共性