基于反例引导的抽象动态执行精化算法

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:zhangshun102
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
模型检测是一种形式化验证方法,目前已经得到了快速的发展和广泛的应用。模型检测的一个基本问题是状态爆炸,对于这个问题,当前存在很多的解决方法,其中反例引导的抽象精化算法应用较为广泛。反例引导抽象算法虽然在一定程度上能有效缓解状态爆炸问题,但是仍然存在以下两点不足:一是很多类型的错误,例如有关功能正确性的漏洞,如果不通过执行程序是很难检测出来的;二是抽象技术在构建系统模型时总是认为所有的分支都是可达的,遇到反例时才通过精化来消除虚假的反例。而动态执行可以有效避免不必要的细化。基于此,引入本算法——基于反例引导的抽象动态执行精化算法。本算法在反例引导的抽象精化算法基础上加入了动态执行,在构建系统的抽象模型时,能依据程序中的分支节点类型在抽象方法和动态执行方法之间自动切换。本算法将程序中所有的分支节点依据分支条件的确定性划分为确定性分支节点和非确定性分支节点。构造模型的过程中,遇到确定性分支节点时,通过动态执行来计算分支节点的唯一确定后继;遇到非确定性分支时,进行抽象检测,展开所有的分支后继。特别的是,为了高效的利用动态执行的优势,本算法在模型检测前将程序分为确定性程序和非确定性程序两类,对于确定性程序无需通过构建模型来检测,可直接通过动态执行来检测系统的正确性。CPAChecker是一个可靠软件模型检测工具,包括了谓词检测、精确值分析等多种检测方法。谓词检测方法中使用了反例引导的抽象精化算法,其中的抽象技术使用应用广泛的谓词抽象。本算法以CPAChecker的谓词检测方法基础上实现。抽象检测技术可以有效控制系统模型的规模,而动态执行的加入一方面能减少抽象检测方法导致的误判,另一方面能引导系统构建出更加准确的模型,避免不必要的细化。通过实验数据分析,本算法使传统的反例引导谓词抽象精化算法在效率和准确率上都得到了很大的提高。
其他文献
为准确预测海底油气管道腐蚀剩余寿命,构建基于误差补偿原理的灰色径向基函数(GM-RBF)神经网络腐蚀速率预测模型。首先,建立腐蚀速率的灰色模型(GM),将腐蚀速率灰色预测值作
1前言徽州传统建筑蕴藏着丰富的地域文化内涵和历史信息,是人类珍贵的实物遗存。随着社会发展变迁,徽州传统民居居住功能落后,产权关系复杂混乱、修缮经费不足引起年久失修、
针对现行肋拱桥加固方法的局限性,创新性的提出了一种基于高性能混凝土(UHPC)套箍与预应力相结合的加固方案,并结合理论分析和Midas Civil数值模拟,对比研究了某肋拱桥在不同
目前随着我国城乡一体化的建设,办理农村房屋所有权转移的公证会越来越多。但如何认定农村房屋权属却一直是公证业界一个最大的难题,因为农村房屋所有权性质上大多数是共有产权
对于初中学生来说,足球是一项很好的体育活动,也深受学生的喜爱。在足球运动中加入对学生的体能训练将能够更高效地提高足球技能,增强学生的身体素质。本文就将针对初中足球
目的:探讨体位的改变对ICU机械通气患者气管套管气囊压力的影响。方法:便利抽样选择天津市某三级综合医院ICU行机械通气患者30例。采用自身前后对照,每例患者从初始位置(仰卧
详细阐述了针织成衣涂料浸染工艺的前处理、酶洗、打底、接枝处理、染色和黏合处理、风格处理,以及调色、柔软处理等各个工序的工艺流程、工艺处方和条件.讨论并分析了涂料浸染
犬瘟热(CD)是由犬瘟热病毒(CDV)引起的一种在食肉目动物中广泛传播的急性,高传染性疾病,具有较高的发病率和死亡率。CDV野毒株很难在无受体的细胞系上进行传代,严重制约CDV的
【正】 古希腊的德尔斐有一所古老的神庙,庙前的石碑上刻着一句箴言:“认识你自己”。认识自己,这是人类的一贯的愿望。人类自从诞生以来,在改造客观世界的过程中,改造着人自
作为中国典籍的代表之一,《论语》的英译已有300多年的历史。不同历史时期、不同译者,出于不同的翻译动机及目的,采用了不同的翻译策略和方法。该文从描述翻译学视角,对不同