SMT求解器技术对比分析及其能力扩展研究.pdf
《SMT求解器技术对比分析及其能力扩展研究.pdf》由会员分享,可在线阅读,更多相关《SMT求解器技术对比分析及其能力扩展研究.pdf(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、国防科学技术大学硕士学位论文SMT求解器技术对比分析及其能力扩展研究姓名:李婧申请学位级别:硕士专业:计算机科学与技术指导教师:王戟2010-11国防科学技术大学研究生院硕士学位论文 第 i 页 摘 要 形式化方法是一种有效的计算机软、硬件系统可信性验证手段。其主要技术包括模型检验,定理证明,等价性检验以及语言包含等。许多形式化验证问题最终都归结于布尔可满足问题(SAT),它用来判断命题逻辑公式是否为可满足的。SAT 是第一个被证明的 NP 完全问题。与 SAT 相比,SMT 问题具有表达能力更强、抽象层次更高的优点,因而,迅速成为了形式化验证中的重要问题。而本文重点关注两个问题:目前 SMT
2、 求解器能力以及如何扩展 SMT 求解器能力。SMT 问题属于一阶逻辑范畴,SMT 求解器可判定的理论域包括:等式与未解释函数、线性算术、位向量以及量化公式等。而多种理论组合是适应当今工业应用日益复杂、多元化需求的,因此对该领域的判定技术的研究具有重大实际意义。本文对比分析了该技术的主要方法:Nelson-Oppen 方法,Delayed Theory Combination 方法,Ackerman 方法。另外,分析了主流求解器的关于该技术采用的最新策略。本文面向工业应用构建测评框架,对比评测 5 个当前主流并可用的支持理论组合判定技术的 SMT 求解器。从实验结果中看出 Z3 所采用的基于模
3、型的DTC 方法使其整体性能最佳,并且在各应用领域中 Z3 求解能力最强,特别是量化问题领域。并非所有的理论域 SMT 求解器对其都具有完全判定方法,仍存在无法判定的SMT 问题,特别是在量化领域。文中给出一类目前 SMT 求解器无法判定的量化SMT 公式一般形式,并由此构造一个自动机的符号化表示,文中证明了该过程转换的正确性。最终结合 SMT 公式解析模块和自动机语言判空技术,实现了一个完整的量化 SMT 公式判定过程。通过例子测试说明该方法的可行性并扩充了 SMT求解器能力,是兼具理论价值和实际意义的。关键词:SMT,理论组合技术,量化 SMT 公式,自动机符号化表示,-自动机判空问题 国
4、防科学技术大学研究生院硕士学位论文 第 ii 页 ABSTRACT Formal method has been proven to be an effective technique in verifying the trustness of software and hardware systems,and it includes several applicable methods such as model checking,theory proving,equivalence checking as well as language containment.Many of these
5、 formal methods can be translated to Boolean/Propositional Satisfiability Problems(SAT),which is used to decide whether a formula according to propositional logic is satisfied.SAT is well-known as the first proved NP-Complete problem.Compared with SAT,Satisfiable Module Theories(SMT)problems are mor
6、e expressive and abstractive,thus SMT becomes critical problems in verification field.This thesis mainly focuses on two things,one is to make sure of the state-of-the-art abilities of SMT solvers,and the other is to find a way to enlarge and complement the capabilities of SMT solvers.SMT problem bel
7、ongs to first-order logic and its decidable theories ranges over fields as equalities and uninterpreted functions,linear arithmetic,bitvectors as well as quantified problems.However,combination of mutiple theories is considered to be with great applicable values due to the demands of the presently c
8、omplex and multi-era industrial applications.This article comparatively analyzes three of theory combination techniques:Nelson-Oppen,Delayed Theory Combination and Ackermann methods.Besides,we present the newest techniques for SMT solvers in dealing with thoery combination,and then a capabilities en
9、valuation platform totally oriented to real-world applications for SMT solvers is given,we comparatively testing the latest and usable verisions of five SMT solvers.Through the results,we can find out that Z3 beats others for the whole performance with the refined DTC approach based on model,especia
10、lly in dealing with quatified formulas.Not all the theory domains SMT solvers have got a complete decidable method;there are still some unsolvable SMT problems,especially the quantified problems.This article shows a generalized formula pattern which SMT slovers can not solve at present.A new method
11、for solving this formula pattern is proposed,we construct a symbolic form of automata,and the correctness of this translating process has been proved in this article.Finally,we realize a complete decision procedure for quantified SMT formula,which combines our translating program with the input pars
12、er module and language decision technique of automata.Results prove our new method is feasiblible;besides,it strengthens the capability of SMT solvers and makes contributions both to theoreticle meanings and applicatible values.Key Words:SMT,Theory Combination,Quantified SMT Formula,Symbolic Express
13、ion of Automata,Emptyness Problem of-Automata国防科学技术大学研究生院硕士学位论文 第 III 页 表 目 录 表 1.1 SMT 求解器总表.6 表 2.2 -(字)自动机接收条件(不含 Finite)的布尔编码.16表 3.1 SMT-COMP08 各求解器理论组合判定执行结果.25表 3.2 SMT-COMP09 各求解器理论组合判定执行结果.25表 3.3 SMT 求解器理论组合判定方法.26表 3.4 按理论组合分类的实验结果统计表.27表 3.5 按工业应用分类的实验结果统计表.29表 4.1 运算符号表.33 国防科学技术大学研究生院硕
14、士学位论文 第 IV 页 图 目 录 图 1.1 验证方法与验证引擎.2图 1.2 基于 DPLL 算法的 SAT 求解器.3图 2.1 自动机的一次运行示例.15图 2.2 各类自动机表达能力之间的关系.17图 3.1 NO 方法传递接口等式.20图 3.2 改进 NO 方法传递接口等式实现非凸理论判定.21图 3.3 NO 方法框架图(左)、DTC 方法框架图(右).22图 4.1 迁移系统的符号化表示示意图.35图 4.2 为例 1 构造的自动机 M1(F)及其符号化表示.37图 5.1 实验基本框架图.42图 5.2 例 1smtlib 格式源文件:testcase1.smt.44图
15、5.3 CVC3 对 testcase1.smt 的解析和判定结果.44图 5.4 testcase1.smv 文件.45图 5.5 NuSMV 对 testcase1.smt 的判定结果.46图 5.6 NuSMV 为 testcase1.smt 的判定结果生成解释模型.46图 5.7 例 2smtlib 格式源文件:testcase2.smt.47图 5.8 CVC3 对 testcase2.smt 的解析和判定结果.47图 5.9 testcase2.smv 文件.48图 5.10 NuSMV 对 testcase2.smt 的判定结果.48图 5.11 NuSMV 为 testcase
16、2.smt 的判定结果生成解释模型.49 国防科学技术大学研究生院硕士学位论文 第 1 页 第一章 绪论 1.1 课题研究背景课题研究背景 1.1.1 形式化验证方法形式化验证方法 随着科技的快速发展和计算机技术的不断进步,人类社会的信息化和多元化程度越来越高。从飞机、汽车、阀门等工业制造到智能控制的家用电器,计算机软、硬件已经融入到人类生活的方方面面,那么,如何保证这些软、硬件设计的正确性?这对涉足该领域的人们提出了重大的挑战。为了满足用户的需求,软、硬件的设计日趋复杂,这种增长的复杂性常常伴随着设计中的错误也相应增多。如 2001 年 Bentley 在设计自动化年会上报告了 Pentiu
17、m 4 的设计中检测出“bug”的数目比 Pentium Pro 增长了 350%1。在芯片设计中,任何细微的错误都可能导致极严重的后果,如 1994 年 Pentium处理器浮点除法部件设计的一个错误致使英特尔公司的损失高达 4.75 亿美元,2005 年,日本汽车制造公司 Toyota 由于一个引擎控制器中的软件错误,召回 16 万余辆汽车2。为了极大的避免如此严重的损失,研究人员必须确保计算机系统的可靠性,安全性等性质在内的高可信性质。人们在 20 世纪 90 年代提出了形式化方法,它被认为是一种极具发展前景的验证方法。保证可靠、安全性是贯穿整个软硬件设计与实现的重要任务。面向可靠安全性
18、质的形式化验证方法是一种重要且十分有效的手段,并得到了长期和广泛的研究和应用。形式化验证方法一般分为两类:动态方法指运行待检验的程序,并根据程序的运行情况来判断所验证的性质是否被满足,例如测试方法;而静态方法则指的是通过对程序源代码进行静态的分析来验证其是否满足某性质。两种方法各具优缺点:动态方法往往不能确保对程序进行完全的分析与验证,如测试的输入常是部分的输入可能,从而使得验证是不完备的;而静态方法花费的时间和空间代价往往比动态方法大很多,但却是一个完全验证方法即考虑了所有可能的输入用例,并且不需要产生测试的激励,是一种具有数学完备性和逻辑推理严格特性的方法,通过符号化手段描述系统的属性,并
19、支持系统属性的推理以及系统描述的正确性验证。无论在计算机软件或是硬件系统中,形式化静态方法都更具有研究意义和应用价值,已成为当前的研究热点。本文是在静态方法的环境中讨论形式化验证技术及其验证工具。形式化验证方法的一般思路是用形式的方法验证设计的实现(Implementation,Imp)是否满足某种规范(Specification,Spec),常包括以下几类技术3:1)模型检验模型检验:将规范表示成逻辑公式,而把系统实现抽象为语义模型,规范国防科学技术大学研究生院硕士学位论文 第 2 页 是否被满足通过这些语义模型来确立。2)定理证明定理证明:将实现满足规范的关系视为逻辑描述的定理,而规范提供
20、了证明规程要利用的公理以及假设,其验证过程是证明演算的过程。3)等价性检验等价性检验:将实现和规范抽象成逻辑公式,以及自动机的形式,用来确立实现与规范之间的等价性关系。4)语言包含语言包含:将实现和规范抽象成语言,检验前者的语言是否包含在后者的语言之后。随着形式化验证方法不断成熟,还出现了谓词抽象,静态检验等技术。无论采用何种方法,形式验证的终极目标是确立实现(Imp)和(Spec)之间满足以下几种关系之一3:1)实现与规范等价:Imp Spec;2)实现蕴含规范:ImpSpec;3)实现抽象成状态转移模型,如有限自动机,Kripke 结构等。规范描述为时态逻辑,如计算树逻辑,线性时序逻辑等。
21、该模型上所有可能的行为满足该规范的要求:Imp Spec。1.1.2 验证工具验证工具 然而,随着研究的不断深入,研究者发现许多形式化方法中都包含可满足问题(Boolean/Propositional Satisfiability,SAT),即给定一个布尔函数,是否存在某种变量赋值使得函数的值为真,或者给出证明,该函数在任何赋值下都为假。即问题是可满足的(Satisfiable),或是不可满足的(Unsatisfiable)。可满足性问题在数理逻辑、人工智能、机器学习、约束满足问题、VLSI 集成电路设计与检测以及计算机科学理论等等领域具有广阔的应用背景。目前,可满足性问题算法是形式验证的核心
22、引擎。图 1.1 验证方法与验证引擎 为了实现形式验证的最终目标,形式化方法将验证过程交由验证引擎实现。这些工具就是用来判定实现与规范是否满足某种关系的程序。各类形式化方法都有国防科学技术大学研究生院硕士学位论文 第 3 页 专门的验证工具,如定理证明工具 Simplify4,模型检验工具 SPIN5等。伴随着许多形式化验证方法都可归结到可满足性问题,其求解工具也已经逐渐支撑起诸如模型检验,定理证明等多种形式化验证方法中,逐渐成为了一种支持多种形式化验证方法的验证工具。1.1.2.1 SAT 求解器 可满足性问题在上世纪 60 年代开始引起广泛关注6,许多重要的基本问题都可以(在多项式时间内)
23、规约到 SAT 问题。它是第一个 NP 完备问题,并且是一大类 NP 完备问题的核心。大量的实践表明,许多 NP 完备问题无论是对于计算机科学理论还是工程应用都有着至关重要的意义。可满足问题求解器可满足问题求解器(SAT 求解器求解器)是用来判定 SAT 问题的程序,是一个高效的验证工具。它的输入一般采用合取范式(CNF)的方式,合取范式是对一些子句进行“与”操作,子句是对一些字进行“并”操作,而字则是布尔变量的否定或肯定的形式。采取合取范式的表达方式简洁且有效,同时表达布尔函数的其他方式都能通过引入一些辅助变量的途径在多项式时间内转为合取范式。对于一个布尔函数,其合取范式来表达方法不唯一,即
24、它并非正则表达方式。这种表达方式的好处在于它不像如模型检验求解技术中二叉决策图的方法一样,带有节点数目随布尔变量数目成指数倍增长的特点。图 1.2 基于 DPLL 算法的 SAT 求解器 作为 NP 问题的原型,可满足问题引起广泛关注。早在上世纪 60 年代,Davis,Putnam,Longemann,Loveland 等人就对解决该类问题进行研究,形成求解可满足问题的最常用的基本算法,称为 DPLL 算法6,也是 SAT 求解器算法的基础。随着 SAT 问题在验证领域广泛应用,SAT 求解器迅速推广,研究者在体验到求解算法的高效求解能力的同时也发现其不足,随之而来的是对 SAT 求解算法的
25、不断改进,继而推动了 SAT 技术向前发展。近年来,基于 DPLL 算法已有人提出了各种改进局部搜索算法和回溯算法,使 SAT 求解器解决问题的能力不断加强,同时规模也不断增大。其中局部搜索算法对随机的 SAT 问题特别适用,而回溯算法则对国防科学技术大学研究生院硕士学位论文 第 4 页 大规模工业应用中的 SAT 问题十分有效。SATO7,zChaff8,Berkmin9,Minisat10等求解器的主要算法就是基于 DPLL 算法改进的。随着布尔可满足求解技术的进步,SAT 求解器也日渐成熟与完善,目前已能够解决工业应用中的包含数万短句和数百万变元的问题。SAT 问题的种种应用包括规划调度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SMT 求解 技术 对比 分析 及其 能力 扩展 研究
限制150内