首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 95 毫秒
1.
基于逻辑推理的方法进行程序验证是形式化程序验证的研究热点.目前的自动验证工具为了保证自动性,对描述程序性质的断言语言都有较多限制,导致程序的某些递归性质难以用断言语言表述.本文在一个面向指针程序、基于先前自行设计的形状图逻辑、依赖于自动定理证明工具Z3的自动程序验证原型系统上,通过在断言语言中引入自定义谓词来增强断言语言的表达能力,使得该原型系统不仅能自动验证含操作易变数据结构的程序的性质,也能自动验证一些不含指针的程序的性质.  相似文献   

2.
利用形状图逻辑和形状系统来解决指针程序的分析和验证中的困难。该方法要求程序员声明各种递归结构体类型参与构建的数据结构的形状,并声明指针变量所指向的形状,以便程序分析工具能建立各程序点的形状图,并以此来支持程序验证。探讨了在指针相等关系静态可确定的情况下,避免在Hoare逻辑上做复杂扩展的指针程序验证方法。
Abstract:
Analysis and verification of programs dealing with pointers are still difficult problems so far. This paper uses a shape graph logic and a shape system to solve these problems. Using our method, programmers must declare the shapes that the recursive data  相似文献   

3.
指针程序的分析一直是研究热点。本文提出一种基于形状图逻辑的形状分析方法,其中形状分析采用形状图来表达程序中指针的指向和相等关系,并用形状图逻辑来进行推理。形状图逻辑是一种把形状图看成有关指针的断言,并在此基础上对Hoare逻辑进行扩展而得到的程序逻辑。首先介绍所提出的形状图和形状图逻辑;然后在此基础之上,设计一种基于形状图逻辑的形状分析方法。  相似文献   

4.
秦胜潮  许智武  明仲 《软件学报》2017,28(8):2010-2025
上世纪60-70年代以来,虽然有Floyd-Hoare逻辑的出现,但是使用形式化工具对命令式程序的正确性和可靠性进行自动验证一直被认为是极具挑战性、神圣不可及的工作.上世纪末由于更多的科研投入,特别是微软、IBM等大型公司研发部门的大量人力物力的投入,程序验证方面在本世纪初取得了不少进展,例如用于验证空客代码无运行时错误的ASTRÉE工具,用于Windows设备驱动里关于过程调用的协议验证的SLAM工具.但这些工具并没有考虑动态创建的堆(Heap):ASTRÉE工具假设待验证代码没有动态创建的堆,也没有递归;SLAM假设待验证系统已经有了内存安全性.事实上很多重要的程序,例如Linux内核、Apache、操作系统设备驱动程序等等,都涉及到对动态创建堆的操作.如何对这类操作堆的程序(heap-manipulating programs)进行自动验证仍然是个难题.2001-2002年分离逻辑(separation logic)提出后,其分离(separation)思想和相应的框(frame)规则使得局部推理(local reasoning)可以很好地应用到程序验证中.自2004年以来,基于分离逻辑对操作动态创建堆的程序进行自动验证方面的研究有了很大的进展,取得了很多令人瞩目的成果,例如SpaceInvader/Abductor、Slayer、HIP/SLEEK、CSL等工作.本文将着重对这方面的部分重要工作进行阐述.  相似文献   

5.
PVM并行程序验证系统的原理与实现   总被引:5,自引:0,他引:5  
本文主要介绍PVM并行程序验证系统的基本原理和实现技术。首先,我们扼要分析PVM程序的构成与特点,然后阐述验证系统的理论模型和验证算法;最后,讨论开发过程中的若干关键技术,本系统的研制可为产行程序的自动转换和分析验证提供了一个可视化的运行环境。  相似文献   

6.
程序推理使用的抽象机器与物理机器的差距降低了推理的精确度,为了缩小这个差距,本文提出了一个带位级别抽象的新抽象机,在这个机器里,二进制整数以纯语法的方式被表示成位矢量而不是非负整数.使用这个抽象机器,可以在其上进行许多带位操作指令的程序,特别是系统级代码的Hoare逻辑风格推理.本文中,二进制整数及其上的算术逻辑运算使用Coq的归纳结构演算来形式化,并且一些常见的重要性质也都使用Coq证明助理进行了严格的形式化证明.  相似文献   

7.
黄达明  曾庆凯 《软件学报》2009,20(8):2051-2061
介绍了分离逻辑的验证原理和特点及其在程序验证方面的应用实例,分析了为支持程序验证的若干分离逻辑研究进展,包括分离逻辑的自身属性、与其他逻辑的关系、对程序语言和设计模式的支持以及定理证明器等内容.指出了分离逻辑进一步深入应用所面临的问题和解决方向.  相似文献   

8.
贾国平  郑国梁 《软件学报》1997,8(2):107-114
本文提出了一个简单的方法,其中程序和其性质都由一个逻辑:时序逻辑中的公式表示.文中给出了一个程序的转换模块的定义,提出了时序执行语义的概念.它是一个时序公式,精确地说明了一个程序.将时序逻辑作为规范语言,程序正确性就意味着说明程序的公式蕴含说明性质的公式,其中蕴含即为一般的逻辑蕴含.因此,本文的方法为并发程序的规范及验证提供了一个统一的框架.它允许充分利用现有的用于证明并发系统时序性质的各种完全证明系统.一个缓冲系统的简单例子用来说明本文的方法.此例子表明本文的方法是可行的.  相似文献   

9.
近年来,时态逻辑大量应用于程序验证,采取的途径随使用的时态逻辑的形式和方法的不同而异。本文用自动机理论研究几种时态逻辑(LTL,BTL,POTL)的模型和模型生成子,并讨论用时态逻辑进行程序验证的的重要途径。  相似文献   

10.
对高可信软件需求的增加使得指针程序的验证成为近期的研究热点.指针逻辑作为Hoare逻辑的扩展,可以对指针程序进行精确的分析.介绍一个针对指针逻辑的自动定理证明器的设计和实现,描述了一些算法.实验结果表明,该定理证明器可以完全自动的证明用类C语言编写的关于单链表,双链表和二叉树的指针程序的验证条件,并生成机器可检查的证明.  相似文献   

11.
针对格雷码式风向传感器的核查需求,尤其针对隐性故障较难排查的问题,设计了风向传感器现场自动核查仪系统。通过电源模块设计,实现电池供电,传感器直接接入即可检测,并且无需额外给传感器供电;通过格雷码点位检测(格雷码的每个点位都有高低电平变化、相邻2组的格雷码只变化1个点位和格雷码不同点位存在不同的高低电平交替出现的规律)和风向值检测(0°检测点读数正常、风向值依次变化规律和所有风向值都应出现)等方法,操作方法更简便且可更全面地排查故障。本系统通过了模拟故障测试和省市县相关气象部门的业务试用。结果表明,本系统便携易用,检测周期缩短到5秒,检测结果的输出清晰准确,能较好地满足风向传感器现场核查的业务要求。  相似文献   

12.
13.
Program specialization can divide a computation into several computation stages. This paper investigates the theoretical limitations and practical problems of standard specialization tools, presents multi-level specialization, and demonstrates that, in combination with the cogen approach, it is far more practical than previously supposed. The program generator which we designed and implemented for a higher-order functional language converts programs into very compact multi-level generating extensions that guarantee fast successive specialization. Experimental results show a remarkable reduction of generation time and generator size compared to previous attempts of multi-level specialization by self-application. Our approach to multi-level specialization seems well-suited for applications where generation time and program size are critical.  相似文献   

14.
近年来,视频内容的结构化分析逐渐成为一个研究热点.传统意义上认为场景是最高层次的视频处理单元.然而随着研究工作的不断深入,需要提出一种更高层次的视频处理单元——节目(program).通过节目管理大量存在的场景,形成更丰富的层次;另外,节目还可以作为视频节目分类算法的输入,从而实现从分割到分类的全部自动化.在传统层次结构的基础上,进一步拓宽视频处理单元的概念,在场景层与视频层之间增加节目层.并且提出一种针对特定电视频道的视频流的节目自动分割算法,实验结果表明该算法具有较好的性能.  相似文献   

15.
通过实例,详细分析使用森兰变频器实现多段频率程序自动运行的方法。  相似文献   

16.
程序设计语言本身的安全性在高安全需求软件的设计和实现中起着基础作用.该文在用于系统级编程的安全语言的设计和性质证明方面,做了有益的尝试.作者设计了一个类C的命令式语言PointerC,其主要特点在于其类型系统中包含显式的副条件(side conditions),这些副条件本质上是约束程序语法表达式值的逻辑公式.该文证明了PointerC语言的安全性定理,即满足这些副条件的程序,在执行时不会违反语言的安全策略.为静态推理副条件中涉及指针的命题,作者已经提出了一种指针逻辑(pointer logic),文中证明了指针逻辑对操作语义是可靠的.  相似文献   

17.
杨凯 《福建电脑》2020,(3):60-63
本文探讨如何对嵌入式系统进行持续集成和自动化测试,并对其中的要点和难点提供解决方案。介绍了基于Gerrit系统,Jenkins系统和LAVA系统的测试框架设计与实现,并提供了基于嵌入式硬件的常见固件部署方法和测试交互方法,形成从框架到落地的完整方案介绍。  相似文献   

18.
编程题自动阅卷系统的设计与实现   总被引:2,自引:1,他引:2  
目前C语言编程题的自动阅卷主要采用比对程序运行结果的方法,这种方法由于不查看学生的程序内容,因此评分有失公允并且不能反映学生的真实水平。本系统采用动态评阅、结果对比、静态评阅相结合的方法,使评分结果公正、准确,更加接近于人工阅卷。该系统已经用于实际的教学环节中,收到了良好的效果。  相似文献   

19.
This paper describes in some detail the computer-aided proof of a permutation program obtained using the Stanford Pascal verifier. We emphasize the systematic way in which a proof can be developed from an intuitive understanding of the program. The paper fillustrates the current state of the art in automatic program verification.  相似文献   

20.
介绍通过运行解释程序解析XML描述文件,动态生成Qt语言图形界面应用程序的实现方法。实际应用证明,使用这种技术可以缩短软件开发周期,提高软件的可扩展性、可维护性和稳定性。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号