限界模型检测方法及其应用
Contribuinte(s) |
张文辉 |
---|---|
Data(s) |
03/06/2009
|
Resumo |
形式化验证主要是通过精确的分析来证明或证伪硬件或软件系统中一些明确的声明或者性质。形式化验证方法在广义上可以分成两大类:模型检测和定理证明。模型检测由对模型的所有状态和迁移做详尽访问的自动检测机制组成。这种机制是通过对适当的抽象模型进行直接或间接的状态枚举技术来实现的,从而证明模型中存在或者不存在所谓的“瑕疵”状态。定理证明则是运用数学推理和逻辑推论来证明系统的正确性。本文所讨论的就是模型检测方法中的限界模型检测方法及其相关的改进和应用。近些年来,基于可满足性求解(SAT)的限界模型检测方法作为基于BDD的模型检测方法的一种有效的补充,已经有了一定的发展。A. Biere等人最先提出了对于线性时序逻辑公式(LTL)的限界模型检测方法,进而,W.Penczek又提出了对于全局计算树逻辑(ACTL)的限界模型检测方法。由于模型检测方法具有很高的复杂性,因此,其效率问题始终倍受关注。论文第一个方面的重要贡献就体现在提高限界模型检测效率方面的相关研究上。我们对Penczek提出的限界模型检测方法进行了两方面的改进,以提高其求解效率。第一方面的改进是通过改进所需路径条数计算函数,将时序操作符EX和其它时序操作符区分开来,以减少编码时所需的迁移关系和变量数目;第二方面的改进则是采用统一路径编码的方式来简化公式的编码。通过这两方面的改进,公式在最坏情况下的编码复杂度得到了有效的降低。同时,我们还在工具BMV中实现了改进后的方法。随着实时系统的应用日益广泛,在对全局计算树逻辑的限界模型检测方法做了改进,提高了其求解效率以后,我们又将目光转移到了对实时系统的限界模型检测上。如何将限界模型检测方法高效的运用到对实时系统的检测当中成为了本文第二个方面的重要贡献。基于SAT的限界模型检测方法在对实时系统的模型和描述性质的公式进行编码时,需要对时间变量和时钟约束进行布尔编码,由于时间的连续性和不确定性,使得在对它进行布尔编码时,往往会相当的复杂,不仅耗费大量的时间,而且还不利于SAT的求解,即使是使用改进后的限界模型检测方法,整个验证过程的效率还是很低。所以,在对实时系统进行限界模型检测方面,我们转而考虑采用基于可满足性模块理论(SMT)的方法来对实时系统的模型和描述性质的公式进行编码。由于SMT可以直接处理基于整数或者实数的线性算术表达式,因此,我们可以直接用整型或者实型变量来表示时间变量,用线性算术表达式来表示时钟约束。与基于SAT的限界模型检测方法相比,基于SMT的限界模型检测方法在处理实时系统方面,不仅简化了编码过程,而且大大提高了求解效率。在此基础上,我们运用基于SAT的对全局计算树逻辑的限界模型检测方法中的改进思想,对基于SMT的实时系统的限界模型检测方法也做了相应的改进,使其求解效率较之改进前有了较大的提升。最后,我们就基于SAT的限界模型检测方法和基于SMT的限界模型检测方法以及它们的改进方法进行了一系列的实验对比。从实验结果可以看出,改进后的方法比改进前的方法在时间效率和空间效率上都有明显的提升,同时就实时系统来说,采用了SMT和限界模型检测相结合的方法以后,效率也比没有采用这两者的方法要高很多。 |
Identificador | |
Idioma(s) |
中文 |
Fonte |
徐亮.限界模型检测方法及其应用[博士论文].北京.中国科学院研究生院.2009 |
Palavras-Chave | #计算机软件::软件理论 #形式化验证 |
Tipo |
学位论文 |