形式化验证方法浅析

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:meng010
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着信息技术的发展,软硬件系统越来越复杂,其中软硬件系统设计的正确性至关重要。形式化验证方法在硬件设计和软件开发等领域发挥越来越重要的作用,成为模拟验证的重要补充。本文主要介绍了形式化验证方法的发展现状并对其发展进行展望。
  关键词:形式化验证方法;软件设计;硬件验证;模型检测;定理证明
  中图分类号:TP301 文献标识码:A
  文章编号:1009-3044(2019)34-0239-02
  1 概述
  硬件和软件系统在规模和功能上的增长增加了复杂性,也增加了潜在错误的可能性,这些错误引起了金钱、时间上的损失,甚至会危及人们的生命。形式方法是用于软件和硬件系统的规范,开发和验证的特定类型的基于数学的技术,是改善和确保系统质量的重要方法。形式化方法在软件和硬件领域中的应用进展比较显著,引起了各个领域的注意[1]。形式化验证方法是形式化方法的一个重要的研究内容,本文主要对形式化验证方法进行探讨。
  2 基本概念
  2.1 形式化规范说明
  形式化规范说明是明确的表达所要设计的系统的及其性质的过程。形式化规范说明的语言具有严格的数学语法和语义,避免了自然语言的歧义性和不精确性[2]。可以用来表达系统的性质:功能行为、时序行为、性能特征以及内部结构,力求达到无二义性、一致性和完整性。这些可以用一种或多种语言来描述。目前对行为性质的形式化规范说明技术已经很成熟。把不同的规范说明语言结合在一起对系统进行描述成为一种发展趋势;另外一种趋势是对系统的非行为方面:性能、实时限制、安全要求、结构设计等进行形式化描述。
  不同的形式规范说明方式要求不同的形式化规范语言。下面是用于顺序和并发系统形式规范的常见方法及语言:
  2.2 形式化验证
  形式验证是使用正式的数学方法证明或反驳系统相对于某个正式规范或属性的预期算法的正确性的行为,形式验证要求产品的规范和实现均需要有严格的形式描述[2],如图2所示。主要有两种方法,一类是以逻辑推理为基础,逻辑推理有se-quent calculus, resolution natural deduction,以及Hoare-logic等方法,统称为定理证明技术;另一类则以穷尽搜索为基础统称为模型检测。
  2.2.1 定理证明
  定理证明:先对系统及其性质进行抽取,表示成基于某种逻辑的命题、谓词、定理,在验证者的引导下,不断地对公理、以证明的定理施加推理规则,产生新的定理,直到推导出表达系统性质的公式,从而证明设计的系统满足该性质。现在定理证明器越来越多的应用在验证硬件和软件设计的安全临界性质的验证[3]。
  定理证明高度抽象,具有强大的逻辑表达能力,可以验证几乎所有的系统行为特性,可以处理无限的状态空间。定理证明器可以分为三种:自动定理证明器、交互式定理证明器及证明检验器。现在大多数定理证明器是交互式的,需要人的引导,对验证者的要求有良好的数学经验。
  主要的定理证明工具有:STeP(Stanford)、TLV、AL2(UT Aus-tin/CLI)、Coq、HOL(Cambridge)、Isabelle(Cambridge)、Larch、Nu-prl、PVS(SRI)等。
  2.2.2 模型检测
  模型检测是建立一个系统的有限状态模型并检测希望满足的性质在这个模型中是否成立的技术。
  目前有两种主要模型检测技术:一种是时态模型检测,这种方法中规范说明用时态逻辑公式表示,系统用有限状态转换模型表示,用模型检测器检测模型是否满足规范说明公式。另外一种是等价性检測,这种方法中规范说明用一个自动机表示,系统用一个自动机表示,然后证明两个模型是否一致。
  自动化程度较高是模型检测的优点,并且当系统不满足给定的性质时,可以给出反例,使设计人员方便找出设计错误。模型检测应用于硬件和协议的验证,现在在对软件设计的验证已成为研究的热点。状态空间爆炸问题是其主要的缺点。
  主要的模型检测工具有:COSPAN/FORMAL CHECK(Bell)、MURPHY(Stanford)、SPIN(Bell)、SMV(CMU)、VIS(Berkeley)等。
  目前形式化验证方法成功应用于商业、航空业、通信业和芯片制造业,INTEL,ARM和NIVIDA等大公司已经把形式化方法应用到芯片的制造和验证[5]。
  3 形式化验证方法的优缺点
  3.1 形式化验证方法的优点
  形式验证是完备的,能够完全断定设计的正确性,对指定描述得所有可能情况进行验证,不仅仅对其中的一个输入子集进行多次试验,克服了模拟实验的不足[4]。形式验证用数学方法将待验证电路与功能描述直接进行比较,不需要开发测试用例。形式化验证可以进行从系统级到门级的验证验证时间短,可以更早发现和改正设计缺陷,缩短周期和降低成本。形式验证工具能够自动验证特性的正确性,极大地方便了测试者,减小验证难度。形式验证工具应用断言验证的方法,断言以注释形式出现在代码中,从而既不影响原有代码的工作,又充分发挥了断言验证方法的作用,不影响原有验证流程。
  3.2 形式化验证方法的不足
  不管形式化验证是软件系统还是硬件设计,都要建立对象的各种模型,模型是在对原始设计进行抽象后所得到的,抽象出的模型和原始设计之间不可避免地存在鸿沟,而且验证的完整性取决于特性是否被全面准确的表达。形式化验证到目前为止仍然不能有效地的验证电路的性能,如电路的延时和功耗等[4]。当系统变复杂时,验证将占用较多的计算机资源,耗时增加。如前文所述各种形式化验证技术都有其固有的缺陷需要继续研究克服。
  4 形式化验证方法发展的展望   形式化验证方法的主要目的是帮助设计人员设计更可靠的系统。形式化验证方法的进展依靠基础理论研究、研制新的方法和工具、方法和工具的集成等。主要从概念、方法和工具以及和其他技术结合等方面提出几点看法。
  4.1 基本概念
  形式化验证方法在实际应用中的显著作用依赖于计算机科学各个领域的研究结果。以后的工作主要包括以下范围:组织:必须对怎样组织方法、规范说明、模型、定理、证明等有深刻理解;分解:开发一种更有效地把全局的性质分解为更易验证的子性质的方法;抽象:不进行抽象很难对真实的系统进行规范和验证,对不同的系统或问题域采用不同的抽象技术;可复用模型和理论:对模型和理论进行复用可以减少工作量;数学理论的组合:很多安全临界系统既有数字元件也有模拟元件,这样的混合系统要求用离散和连续的数学理论进行推理;数据结构和算法:对大的搜索空间和大的系统进行处理时,就要求开发新的数据结构和算法。
  4.2 方法和工具
  为了吸引使用者,开发的工具和方法应满足以下特征:短的回收期、付出越多回报也越多、多用途、集成使用、易于使用、高效、易学、面向检错,聚焦分析、适应系统的发展等。没有任何一种方法或工具可以解决所有的问题,没有一种形式化工具可以描述和分析复杂系统的任何一个方面,因此把各种方法和工具集成起来使用成为一种趋势。主要是:模型检测和定理证明技术的集成、形式化规范与验证技术与传统的开发过程的集成、软件和硬件的设计验证方法的集成等。在软件工程中面向对象技术与形式方法相结合已经成为一个比较热的研究领域。形式化验证方法在以太坊智能合约安全监测中也得到广发应用。
  5 结束语
  本文主要探讨了形式化验证方法的有关基本概念,对形式化验证方法的两种主要形式:定理证明、模型检测进行阐述,以及从使用角度分析了形式化验证方法的优缺点,最后提出了对形式化验证方法的几点见解。
  参考文献:
  [1]韩俊刚,杜慧敏.数字硬件的形式化验证[M].北京大学出版社,北京:2001.12.
  [2] CLARKE E M, WING J M. Formal Methods:State of the Artand Future Directions[Jl.ACM Computing Surveys,1996,28(4).
  [3] Johann M.Schumann, Automated Theorem Proving in SoftwareEngineering,Spring-Verlag 2001.
  [4]张广泉.形式化方法导论[M].清华大学出版社,北京:2015.12.
  [5]陈钢,于林宇,裘宗燕,等.基于逻辑的形式化验证方法:进展及应用[J].北京大学学报:自然科学版,2016,52(2).
  【通联编辑:王力】
  收稿日期:2019-08-21
  作者简介:陈波(1981-),女,山东淄博人,硕士,山东理工大学计算机科学与技术学院,讲师,研究方向为计算机软件与理論。
其他文献
摘要:为了解决手工录入成绩费时又易错位的问题,通过使用VLOOKUP函数将模考成绩快速搜索并写入汇总统计表功能,然后利用lNDEX函数、MATCH函数和MAX三个函数结合实时查找最高分人的姓名,并使用COUNTIF函数实时统计及格人数和及格率等,经实验测试实现了快速搜索并写入数据,实时查找和统计功能,最后对模拟实验后成绩提取和生成进行了探讨。  关键词:函数;快速;搜索;写入;实时;统计  中图分
随着物联网、云计算、大数据、空间信息、移动互联网等现代信息技术在农业产业的广泛应用,农业信息技术人才需求量激增。农业职业院校在原有信息技术专业的基础上,整合种植类
摘要:在以计算机图形学为基础的三维可视化基础上,设计了作战试验三维可视化仿真系统。将三维空间理念引入到作战试验可视化显示中,具体阐述了作战标绘的三维模型构建、实时数据接收及解析、三维态势显示、雷达仿真分析,直观具体的表达了作战试验三维态势。通过大数据加载显示策略、粒子特效关键技术实现了良好的可视化效果,有效地提高了作战试验三维信息感知能力。  关键词:作战试验;三维可视化;仿真系统  中图分类号:
摘要:在使用Excel时查询是经常要用到的操作,与VLookup相比Lookup函数有很强大的查询功能。文章在介绍Lookup的常规用法的基础上通过实例详细介绍了“0/”的用法,以实现多种查询。  关键词:函数;Lookup;0/  中图分类号:TP391  文献标识码:A  文章编号:1009-3044(2019)34-0208-02  查找引用是Excel的基本功能之一,通常我们可以使用Vlo
摘要:随着科技革新和物联网发展,智能家居开始取代传统家电,成为人们日常生活中的必备品。本文介绍一款嵌入式智能婴儿床管控系统,该系统旨在利用物联网及自动化技术节省父母因照看哭闹婴儿的时间,同时为用户提供远程控制接口,使照看婴儿更加轻松、便捷。同时本系统提供人性化人机交互式接口,基于用户需求行进设计使体验更佳。此设备支持多种管控模式,用户可根据需要设置不同的模式,完成对婴儿床的控制。  关键词:安全;
摘要:有限元软件ANSYS在工业领域求解非线性多物理场有着非常广泛的应用,本文基于该软件对某企业生产的一轮胎定型硫化机开合模油缸活塞杆进行热一力耦合计算和分析。构建了螺纹配合下的活塞杆仿真模型,并进一步分析得出了在考虑高温工作下和未考虑高温工作下活塞杆受力状态的应力场,进行对比分析找出了该型硫化机长时间工作后密封性能下降的原因。其仿真方法和结果为有限元软件ANSYS应用于该型产品或同类产品的多物理
摘要:该文在研究国内外电能质量管理应用技术和项目总体架构的基础上,基于统一建模语言(UML)对电能质量管理系统进行系统设计与建模,通过UML分别设计系统的用例、静态、动态模型,在每个总体模型基础上都对其进行细化。使用UML建模可以缩短系统的开发周期,增加系统的可移植性。  关键词:电能质量;UML;系统设计  中图分类号:TP391 文献标识码:A  文章编号:1009-3044(2019)34-
摘要:随着目前VR/AR技术的发展,三维真实感图形技术已经发挥着越来越重要的作用,计算机图形学已经向各个学科领域渗透。该文采用参数方程变形及分型造型方法生成树木粗略造型。树枝是使圆柱变形得到几何形状,再利用L系统分形生成树木分支;树叶的生成是利用矩形变形得到几何形状,通过调整颜色模拟树叶。最后通过区域填充、消隐、简单光照模型基于MFC进行可视化设计。实验模拟结果表明本文造型方法可以迅速生成随机生长
摘要:卫生监督信息系统促使各级卫生监督机构之间交换、共享信息数据,使数据达到实时、动态、规范、完善的效果,极大地提高了卫生监督工作效率。该文围绕卫生监督信息系统的功能模块、系统应用阐述了卫生监督信息系统的结构与主要功能,特别是针对卫生监督信息系统在实际使用以及信息报告过程中遇到的常见问题,并提出了解决方法,为卫生监督信息系统今后的更新改进及维护提供参考。  关键词:卫生监督;信息系统;应用;日常维
摘要:在新一代天气雷达业务应用中,PUP软件调阅雷达产品是预报员做预报最常用的操作模式,由于雷达软件系统的升级,使产品索引文件从产生雷达产品开始产生,然后不断地追加产品信息,文件变得越来越大,如果依靠人工进行删除,不仅文件目录多,操作起来困难,而且从删除那刻起,要等下个雷达数据产生的时次再次生成索引文件,这样PUP软件调阅时只能显示再次生成索引文件时间的产品,之前的产品只能通过打开目录的方式单一调