题名 SMT求解技术的发展及最新应用研究综述
被引量:10
1
作者
王翀
吕荫润
陈力
王秀利
王永吉
机构
基础软件国家工程研究中心(中国科学院软件研究所)
中国科学院大学
计算机科学国家重点实验室(中国科学院软件研究所)
中央财经大学信息学院
出处
《计算机研究与发展》
EI
CSCD
北大核心
2017年第7期1405-1425,共21页
基金
国家自然科学基金项目(61170072
61303057)
+1 种基金
中国科学院
国家外国专家局创新团队国际合作伙伴计划~~
文摘
可满足性模理论(satisfiability modulo theories,SMT)是判定一阶逻辑公式在组合背景理论下的可满足性问题.SMT的背景理论使其能很好地描述实际领域中的各种问题,结合高效的可满足性判定算法,SMT在测试用例自动生成、程序缺陷检测、RTL(register transfer level)验证、程序分析与验证、线性逻辑约束公式优化问题求解等一些最新研究领域中有着突出的优势.首先阐述SMT问题的基础SAT(satisfiability)问题及判定算法;其次对SMT问题、判定算法进行了总结,分析了主流的SMT求解器,包括Z3,Yices2,CVC4等;然后着重介绍了SMT求解技术在典型领域中的实际应用,对目前的研究热点进行了阐述;最后对SMT未来的发展前景进行了展望,目的是试图推动SMT的发展,为此领域的相关人员提供有益的参考.
关键词
可满足性模理论
smt 求解器
smt 求解算法
测试用例自动生成
程序缺陷检测
云计算
Keywords
satisfiability modulo theories (smt )
smt generation
program defect detection
cloud computing solver
decision algorithms of smt
test-case
分类号
TP18
[自动化与计算机技术—控制理论与控制工程]
题名 SMT求解技术简述
被引量:12
2
作者
金继伟
马菲菲
张健
机构
中国科学院软件研究所
出处
《计算机科学与探索》
CSCD
北大核心
2015年第7期769-780,共12页
基金
国家自然科学基金~~
文摘
SMT问题是在特定理论下判定一阶逻辑公式可满足性问题。它在很多领域,尤其是形式验证、程序分析、软件测试等领域,都有重要的应用。介绍了SMT问题的基本概念、相关定义以及目前的主流理论。近年来出现了很多提高SMT求解效率的技术,着重介绍并分析了这些技术,包括积极类算法、惰性算法及其优化技术等。介绍了目前的主流求解器和它们各自的特点,包括Z3、Yices、CVC3/CVC4等。对SMT求解技术的前景进行了展望,量词的处理、优化问题和解空间大小的计算等尤其值得关注。
关键词
可满足性模理论(smt )
DPLL(T)
求解器
Keywords
satisfiability modulo theories (smt )
DPLL(T)
solver
分类号
TP30
[自动化与计算机技术—计算机系统结构]
题名 可满足性模理论综述
3
作者
唐傲
王晓峰
何飞
机构
北方民族大学计算机科学与工程学院
北方民族大学图像图形智能处理国家民委重点实验室
出处
《计算机工程与科学》
CSCD
北大核心
2024年第3期400-415,共16页
基金
国家自然科学基金(62062001)
宁夏青年拔尖人才项目(2021)。
文摘
可满足性模理论(SMT)是指判定一阶逻辑公式在特定背景理论下的可满足性问题。基于一阶逻辑的SMT相比SAT描述能力更强、抽象能力更高,能处理更加复杂的问题。SMT求解器在各个领域都有应用,已经成为重要的形式化验证引擎。目前,SMT已被广泛应用在人工智能、硬件RTL验证、自动化推理和软件工程等领域。根据近些年SMT的发展,首先阐述SMT基本知识和常见的背景理论;然后分析总结Eager方法、Lazy方法和DPLL(T)方法的实现流程,并进一步介绍主流求解器Z3、CVC5和MathSAT5的实现过程;接着介绍SMT的扩展问题#SMT、SMT应用在深度神经网络的SMTlayer方法和量子SMT求解器;最后对SMT的发展进行展望,并讨论其面临的挑战。
关键词
一阶逻辑
可满足性模理论
Lazy方法
DPLL(T)
smt 求解器
#smt
Keywords
first-order logic
satisfiability modulo theories (smt )
Lazy method
DPLL(T)
smt solver
#smt
分类号
TP301
[自动化与计算机技术—计算机系统结构]
题名 Spark环境下基于SMT的分布式限界模型检测
4
作者
任胜兵
张健威
吴斌
王志健
机构
中南大学软件学院嵌入式系统与网络实验室
出处
《计算机工程》
CAS
CSCD
北大核心
2017年第6期19-23,29,共6页
基金
国家自然科学基金面上项目(61272151)
中南大学自主探索创新项目(2016zzts373)
文摘
在基于可满足性模理论(SMT)的限界模型检测中,限界深度对于程序验证结果的可信性和程序验证效率具有重要影响。传统串行检测方法由于单机处理性能和内存的限制,不能在限界较深的条件下进行验证。针对该问题,在Spark环境下提出一种分布式限界模型检测方法。将源程序的LLVM中间表示(LLVM-IR)构造为Spark内置的数据结构Pair RDD,利用MapReduce算法将Pair RDD转化为表示验证条件的弹性分布式数据集(VCs RDD),VCs RDD转化为SMT-LIB并输入SMT求解器进行验证。实验结果表明,与传统串行检测方法相比,该方法提高了验证过程中的限界深度和验证结果的正确率,并且对于复杂度较高的程序在限界相同的情况下其验证速度也有所提升。
关键词
软件验证
限界模型检测
弹性分布式数据集
可满足性模理论求解器
Spark框架
Keywords
software verification
Bounded Model Checking (BMC)
Resilient Distributed Dataset(RDD)
satisfiablitymodulo theories (smt) solver
Spark framework
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
题名 SMT求解器理论组合技术研究
被引量:5
5
作者
李婧
刘万伟
机构
并行与分布处理国防科技重点实验室
出处
《计算机工程与科学》
CSCD
北大核心
2011年第10期111-119,共9页
基金
国家自然科学基金重点项目软件工程学(0904067107002)
文摘
可满足模理论(SMT)求解器是计算机科学中用来判定一阶逻辑公式可满足性的程序,是许多形式化方法的验证引擎。理论求解器实现了SMT基于不同理论背景的求解过程,然而实际问题常以多个理论为背景。因此,本文重点介绍理论组合判定方法,概述SMT求解器的发展现状,并分析了几个主流SMT求解器理论组合判定关键技术。通过对照实验,评估各组合判定方法的优缺点以及目前流行的支持理论组合SMT求解器在工业应用中的性能。
关键词
可满足模理论
smt 求解器
组合理论
Keywords
satisfiability modulo theories
smt solver
combination theory
分类号
TP301
[自动化与计算机技术—计算机系统结构]
题名 基于可满足性模理论求解器的程序路径验证方法
被引量:2
6
作者
任胜兵
吴斌
张健威
王志健
机构
中南大学软件学院
出处
《计算机应用》
CSCD
北大核心
2016年第10期2806-2810,共5页
基金
国家自然科学基金资助项目(61272151)
中南大学研究生自主探索创新项目(2016zzts374)~~
文摘
针对程序中因存在路径条数过多或复杂循环路径而导致路径验证时的路径搜索空间过大,直接影响验证的效率和准确率的问题,提出一种基于可满足性模理论(SMT)求解器的程序路径验证方法。首先利用决策树的方法对复杂循环路径提取不变式,构造无循环控制流图(NLCFG);然后通过基本路径法对控制流图(CFG)进行遍历,提取基本路径信息;最后利用SMT求解器作为约束求解器,将路径验证问题转化为约束求解问题来进行处理。与同样基于SMT求解器的路径验证工具CBMC和FSoft-SMT相比,该方法在对测试集程序的验证时间上比CBMC降低了25%以上,比FSoft-SMT降低了15%以上;在验证精度上,该方法有明显的提升。实验结果表明,方法可以有效解决路径搜索空间过大的问题,同时提高路径验证的效率和准确率。
关键词
路径验证
控制流图
决策树
基本路径
可满足性模理论求解器
Keywords
path validation
Control Flow Graph (CFG)
decision tree
basic path
Satisfiability Modulo Theory (smt )solver
分类号
TP311.5
[自动化与计算机技术—计算机软件与理论]