摘 要:
计算机并发性程序形式化验证一直是软件安全领域的难题。软件并发性漏洞难以被发现,一旦发生问题,会造成不可估量的安全问题。形式化验证基于严格的数学推导基础,采用语言、语义、推理证明三位一体方法,构建形式逻辑系统,以确保被验证系统的安全性能。传统的形式化验证方法由于人工参与多、验证工作量大、验证效率低等不足,难以对计算机并发程序进行严谨高效的模型描述与验证。研究了一种可双向转换的并发性程序形式化验证方法,解决了人工抽象建模存在的工作量大且易出错的问题,并且保证了源码层与抽象层验证的一致性,大幅提升了形式化验证的效率。
内容目录:
1 并发性验证基本路线
2 并发性验证方法设计
2.1 中间层规范生成模块
2.2 自动化并发性验证模块设计
2.3 自动化功能性验证模块设计
2.4 集成模块设计
3 实验过程和结果
3.1 中间层规范生成
3.2 自动向上映射及并发属性验证
3.3 自动向下映射及功能性验证
3.4 验证结果分析
4 结 语
形式化验证作为一种基于严格数学推理的计算机软件安全性和可靠性保障技术,近年来已经取得了巨大的进展。但是,随着计算机系统越来越复杂,提供的功能越来越强大,其蕴含的安全性问题也日益严峻,因此对形式化验证方法提出了更高的要求。计算机并发技术在高效利用计算机资源的同时,可能存在对计算机软件安全造成很大威胁的并发错误。利用形式化验证找出软件中的并发错误并排除其带来的安全隐患成为形式化方法研究领域的一个重点方向。
基于形式化验证并发错误的研究主要包含两个方面:以定理证明为例的演绎推理方法和以模型检测为例的建模和验证方法。前者通常利用从系