反例引导的抽象精化论文-刘乐乐

反例引导的抽象精化论文-刘乐乐

导读:本文包含了反例引导的抽象精化论文开题报告文献综述及选题提纲参考文献,主要关键词:模型检测,抽象,动态执行,精化

反例引导的抽象精化论文文献综述

刘乐乐[1](2017)在《基于反例引导的抽象动态执行精化算法》一文中研究指出模型检测是一种形式化验证方法,目前已经得到了快速的发展和广泛的应用。模型检测的一个基本问题是状态爆炸,对于这个问题,当前存在很多的解决方法,其中反例引导的抽象精化算法应用较为广泛。反例引导抽象算法虽然在一定程度上能有效缓解状态爆炸问题,但是仍然存在以下两点不足:一是很多类型的错误,例如有关功能正确性的漏洞,如果不通过执行程序是很难检测出来的;二是抽象技术在构建系统模型时总是认为所有的分支都是可达的,遇到反例时才通过精化来消除虚假的反例。而动态执行可以有效避免不必要的细化。基于此,引入本算法——基于反例引导的抽象动态执行精化算法。本算法在反例引导的抽象精化算法基础上加入了动态执行,在构建系统的抽象模型时,能依据程序中的分支节点类型在抽象方法和动态执行方法之间自动切换。本算法将程序中所有的分支节点依据分支条件的确定性划分为确定性分支节点和非确定性分支节点。构造模型的过程中,遇到确定性分支节点时,通过动态执行来计算分支节点的唯一确定后继;遇到非确定性分支时,进行抽象检测,展开所有的分支后继。特别的是,为了高效的利用动态执行的优势,本算法在模型检测前将程序分为确定性程序和非确定性程序两类,对于确定性程序无需通过构建模型来检测,可直接通过动态执行来检测系统的正确性。CPAChecker是一个可靠软件模型检测工具,包括了谓词检测、精确值分析等多种检测方法。谓词检测方法中使用了反例引导的抽象精化算法,其中的抽象技术使用应用广泛的谓词抽象。本算法以CPAChecker的谓词检测方法基础上实现。抽象检测技术可以有效控制系统模型的规模,而动态执行的加入一方面能减少抽象检测方法导致的误判,另一方面能引导系统构建出更加准确的模型,避免不必要的细化。通过实验数据分析,本算法使传统的反例引导谓词抽象精化算法在效率和准确率上都得到了很大的提高。(本文来源于《西安电子科技大学》期刊2017-05-01)

刘林武[2](2017)在《反例引导的抽象精化优化技术研究》一文中研究指出模型检测最主要的瓶颈是状态空间的爆炸,这就导致早期的模型检测主要用于小型系统的验证。为解决这个问题,偏序约简、有序二叉决策图、抽象等方法被提出。在上述方法中,抽象技术是重要的方法之一。抽象技术是对大型软件系统进行验证的一种有效方法,但其中一个重大的障碍就是对系统的抽象会引入具体系统中本不存在的行为,即可能会引入虚假反例。因此,需要根据反例对抽象模型进行精化,本文的主要研究内容如下:(1)采用动态的抽象精化过程,通过对抽象模型进行精化来消除虚假反例。传统的反例引导的抽象精化方法通过改变可见变量集来分割失效状态,造成其它非失效状态也受影响。本文给出了一种新的划分失效状态的方法:增加布尔变量法。该办法的优点是在抽象精化时,只对失效状态进行重新分割,其他非失效状态不受影响。本文还给出一种新的寻找失效状态的方法,该方法只根据抽象状态的前驱和后继状态来判定其是否为失效状态。对于含有无穷循环的反例,此方法可以避免循环展开时的多项式时间问题。同时,给出并行计算失效状态的方法,快速定位失效状态。最后,综合以上方法,给出了一个反例引导的抽象精化框架。(2)采用静态的抽象精化过程,不对抽象模型进行精化,而是借用一系列精细程度不同的抽象模型和启发式算法来消除虚假反例。本章给出一种静态抽象精化方法,直接对反例进行精化,以判定其是否为虚假反例。该方法将一系列抽象模型作为输入,采用启发式算法,来验证系统的安全属性。从原始模型中提取启发式信息,使用启发式搜索算法,模型检测器可以避免搜索整个状态空间,大大减少空间和时间开销。(3)给出了一种基于权重大小来选择虚假反例的方法。传统的反例引导的抽象精化方法没有考虑到反例的权重。不同的反例路径对抽象精化的影响不同,如果一个反例路径中含有高权重抽象状态,那么该反例的重要性超过其他反例。本文基于此,给出了关键反例的概念,然后借鉴图论中对节点权重的计算方法并将其与抽象技术相结合,重新分析并给出了关键反例识别算法,提高了寻找反例和反例精化的效率。论文从叁个方面对反例引导的抽象精化进行优化。第一方面采用动态的精化方法,通过对抽象模型精化来消除虚假反例。第二方面,采用静态的精化方法,不对抽象模型进行精化,而是通过预构建的一系列抽象模型来消除虚假反例。第叁方面着眼于寻找权重更大的反例,以提高模型检测效率。第一、二方面讲的是如何从动态静态两种角度来消除虚假反例。第叁方面讲的是如何高效地选择虚假反例。(本文来源于《南京航空航天大学》期刊2017-03-01)

反例引导的抽象精化论文开题报告

(1)论文研究背景及目的

此处内容要求:

首先简单简介论文所研究问题的基本概念和背景,再而简单明了地指出论文所要研究解决的具体问题,并提出你的论文准备的观点或解决方法。

写法范例:

模型检测最主要的瓶颈是状态空间的爆炸,这就导致早期的模型检测主要用于小型系统的验证。为解决这个问题,偏序约简、有序二叉决策图、抽象等方法被提出。在上述方法中,抽象技术是重要的方法之一。抽象技术是对大型软件系统进行验证的一种有效方法,但其中一个重大的障碍就是对系统的抽象会引入具体系统中本不存在的行为,即可能会引入虚假反例。因此,需要根据反例对抽象模型进行精化,本文的主要研究内容如下:(1)采用动态的抽象精化过程,通过对抽象模型进行精化来消除虚假反例。传统的反例引导的抽象精化方法通过改变可见变量集来分割失效状态,造成其它非失效状态也受影响。本文给出了一种新的划分失效状态的方法:增加布尔变量法。该办法的优点是在抽象精化时,只对失效状态进行重新分割,其他非失效状态不受影响。本文还给出一种新的寻找失效状态的方法,该方法只根据抽象状态的前驱和后继状态来判定其是否为失效状态。对于含有无穷循环的反例,此方法可以避免循环展开时的多项式时间问题。同时,给出并行计算失效状态的方法,快速定位失效状态。最后,综合以上方法,给出了一个反例引导的抽象精化框架。(2)采用静态的抽象精化过程,不对抽象模型进行精化,而是借用一系列精细程度不同的抽象模型和启发式算法来消除虚假反例。本章给出一种静态抽象精化方法,直接对反例进行精化,以判定其是否为虚假反例。该方法将一系列抽象模型作为输入,采用启发式算法,来验证系统的安全属性。从原始模型中提取启发式信息,使用启发式搜索算法,模型检测器可以避免搜索整个状态空间,大大减少空间和时间开销。(3)给出了一种基于权重大小来选择虚假反例的方法。传统的反例引导的抽象精化方法没有考虑到反例的权重。不同的反例路径对抽象精化的影响不同,如果一个反例路径中含有高权重抽象状态,那么该反例的重要性超过其他反例。本文基于此,给出了关键反例的概念,然后借鉴图论中对节点权重的计算方法并将其与抽象技术相结合,重新分析并给出了关键反例识别算法,提高了寻找反例和反例精化的效率。论文从叁个方面对反例引导的抽象精化进行优化。第一方面采用动态的精化方法,通过对抽象模型精化来消除虚假反例。第二方面,采用静态的精化方法,不对抽象模型进行精化,而是通过预构建的一系列抽象模型来消除虚假反例。第叁方面着眼于寻找权重更大的反例,以提高模型检测效率。第一、二方面讲的是如何从动态静态两种角度来消除虚假反例。第叁方面讲的是如何高效地选择虚假反例。

(2)本文研究方法

调查法:该方法是有目的、有系统的搜集有关研究对象的具体信息。

观察法:用自己的感官和辅助工具直接观察研究对象从而得到有关信息。

实验法:通过主支变革、控制研究对象来发现与确认事物间的因果关系。

文献研究法:通过调查文献来获得资料,从而全面的、正确的了解掌握研究方法。

实证研究法:依据现有的科学理论和实践的需要提出设计。

定性分析法:对研究对象进行“质”的方面的研究,这个方法需要计算的数据较少。

定量分析法:通过具体的数字,使人们对研究对象的认识进一步精确化。

跨学科研究法:运用多学科的理论、方法和成果从整体上对某一课题进行研究。

功能分析法:这是社会科学用来分析社会现象的一种方法,从某一功能出发研究多个方面的影响。

模拟法:通过创设一个与原型相似的模型来间接研究原型某种特性的一种形容方法。

反例引导的抽象精化论文参考文献

[1].刘乐乐.基于反例引导的抽象动态执行精化算法[D].西安电子科技大学.2017

[2].刘林武.反例引导的抽象精化优化技术研究[D].南京航空航天大学.2017

标签:;  ;  ;  ;  

反例引导的抽象精化论文-刘乐乐
下载Doc文档

猜你喜欢