计算机系统形式化验证中的模型检测方法综述论文
1 形式化方法概述
形式化方法是用数学和逻辑的方法来描述和验证系统设计是否满足需求。它将系统属性和系统行为定义在抽象层次上,以形式化的规范语言去描述系统。形式化的描述语言有多种,如一阶逻辑,Z语言,时序逻辑等。采用形式化方法可以有效提高系统的安全性、一致性和正确性,帮助分析复杂系统并且及早发现错误。形式化验证是保证系统正确性的重要方法,主要包括以数学、逻辑推理为基础的演绎验证(deductive verification)和以穷举状态为基础的模型检测(model checking)。演绎验证是基于人工数学来证明系统模型的正确性。它利用逻辑公式来描述系统,通过定理或证明规则来证明系统的某些性质。演绎验证既可以处理有限状态系统,又可以解决无限状态问题。但是演绎验证的过程一般为定理证明器辅助,人工参与,无法做到完全自动化,推导过程复杂,工作量大,效率低,不能适用于大型的复杂系统,因而适用范围较窄。常见的演绎验证工具有HOL,ACL2,PVS和TLV等。模型检测主要应用于验证并发的状态转换系统,通过遍历系统的状态空间,对有限状态系统进行全自动验证,快速高效地验证出系统是否满足其设计期望。下面将主要介绍模型检测方法的发展历史和研究现状,以及当前面临的挑战和未来发展方向等问题。
2 模型检测及相关技术
模型检测方法最初由Clarke,Emerson等人于1981年提出,