Microsoft Word - 23陈钢(排).docx



Similar documents
说 明 为 了 反 映 教 运 行 的 基 本 状 态, 为 校 和 院 制 定 相 关 政 策 和 进 行 教 建 设 与 改 革 提 供 据 依 据, 校 从 程 资 源 ( 开 类 别 开 量 规 模 ) 教 师 结 构 程 考 核 等 维 度, 对 2015 年 春 季 期 教 运 行 基

何 秋 琳 张 立 春 视 觉 学 习 研 究 进 展 视 觉 注 意 视 觉 感 知

《C语言基础入门》课程教学大纲

评 委 : 李 炎 斌 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单


龚 亚 夫 在 重 新 思 考 基 础 教 育 英 语 教 学 的 理 念 一 文 中 援 引 的 观 点 认 为 当 跳 出 本 族 语 主 义 的 思 维 定 式 后 需 要 重 新 思 考 许 多 相 连 带 的 问 题 比 如 许 多 发 音 的 细 微 区 别 并 不 影 响 理 解 和

<433A5C446F63756D656E E E67735C41646D696E F725CD7C0C3E65CC2DBCEC4CFB5CDB3CAB9D3C3D6B8C4CFA3A8BCF2BBAFA3A95CCAB9D3C3D6B8C4CF31302D31392E646F63>

,,,,, :,, (.,, );, (, : ), (.., ;. &., ;.. &.., ;, ;, ),,,,,,, ( ) ( ),,,,.,,,,,, : ;, ;,.,,,,, (., : - ),,,, ( ),,,, (, : ),, :,


评 委 : 徐 岩 宇 - 个 人 技 术 标 资 信 标 初 步 审 查 明 细 表 序 号 投 标 单 位 投 标 函 未 按 招 标 文 件 规 定 填 写 漏 填 或 内 容 填 写 错 误 的 ; 不 同 投 标 人 的 投 标 文 件 由 同 一 台 电 脑 或 同 一 家 投 标 单

深圳市新亚电子制程股份有限公司

2006年顺德区高中阶段学校招生录取分数线

一 公 共 卫 生 硕 士 专 业 学 位 论 文 的 概 述 学 位 论 文 是 对 研 究 生 进 行 科 学 研 究 或 承 担 专 门 技 术 工 作 的 全 面 训 练, 是 培 养 研 究 生 创 新 能 力, 综 合 运 用 所 学 知 识 发 现 问 题, 分 析 问 题 和 解 决

抗 战 时 期 国 民 政 府 的 银 行 监 理 体 制 探 析 % # % % % ) % % # # + #, ) +, % % % % % % % %

( ) 信 号 与 系 统 Ⅰ 学 科 基 础 必 修 课 教 周 2016 年 06 月 13 日 (08:00-09:35) ( )

18 上 报 该 学 期 新 生 数 据 至 阳 光 平 台 第 一 学 期 第 四 周 至 第 六 周 19 督 促 学 习 中 心 提 交 新 增 专 业 申 请 第 一 学 期 第 四 周 至 第 八 周 20 编 制 全 国 网 络 统 考 十 二 月 批 次 考 前 模 拟 题 第 一 学

课程类 别

中 国 软 科 学 年 第 期!!!

Microsoft Word - 第7章 图表反转形态.doc

马 克 思 主 义 公 正 观 的 基 本 向 度 及 方 法 论 原 则!! # #

I

一 从 分 封 制 到 郡 县 制 一 从 打 虎 亭 汉 墓 说 起

名 称 生 命 科 学 学 院 环 境 科 学 1 生 物 学 仅 接 收 院 内 调 剂, 初 试 分 数 满 足 我 院 生 物 学 复 试 最 低 分 数 线 生 命 科 学 学 院 生 态 学 5 生 态 学 或 生 物 学 生 命 科 学 学 院

HSK( 一 级 ) 考 查 考 生 的 日 常 汉 语 应 用 能 力, 它 对 应 于 国 际 汉 语 能 力 标 准 一 级 欧 洲 语 言 共 同 参 考 框 架 (CEF) A1 级 通 过 HSK( 一 级 ) 的 考 生 可 以 理 解 并 使 用 一 些 非 常 简 单 的 汉 语

<433A5C C6B73625C B746F705CB9FABCCAD6D0D2BDD2A9D7A8D2B5B8DFBCB6BCBCCAF5D6B0B3C6C6C0C9F3C9EAC7EBD6B8C4CFA3A CDA8D3C3B0E6A3A92E646F63>

一 开 放 性 的 政 策 与 法 规 二 两 岸 共 同 的 文 化 传 承 三 两 岸 高 校 各 自 具 有 专 业 优 势 远 见 杂 志 年 月 日

<4D F736F F D D323630D6D0B9FAD3A6B6D4C6F8BAF2B1E4BBAFB5C4D5FEB2DFD3EBD0D0B6AF C4EAB6C8B1A8B8E6>

珠江钢琴股东大会

¹ º ¹ º 农 业 流 动 人 口 是 指 户 口 性 质 为 农 业 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个 月 及 以 上 的 流 动 人 口 非 农 流 动 人 口 是 指 户 口 性 质 为 非 农 户 口 在 流 入 地 城 市 工 作 生 活 居 住 一 个


修改版-操作手册.doc

采 取 行 动 的 机 会 90% 开 拓 成 功 的 道 路 2

( 二 ) 现 行 统 一 高 考 制 度 不 利 于 培 养 人 的 创 新 精 神,,,,,,,,,,,,, [ ],,,,,,,,,,, :, ;,,,,,,? ( 三 ) 现 行 统 一 高 考 制 度 不 利 于 全 体 学 生 都 获 得 全 面 发 展,, [ ],,,,,,,,,,,

0 年 上 半 年 评 价 与 考 核 细 则 序 号 部 门 要 素 值 考 核 内 容 考 核 方 式 考 核 标 准 考 核 ( 扣 原 因 ) 考 评 得 3 安 全 生 产 目 30 无 同 等 责 任 以 上 道 路 交 通 亡 人 事 故 无 轻 伤 责 任 事 故 无 重 大 质 量

伊 犁 师 范 学 院 611 语 言 学 概 论 全 套 考 研 资 料 <2016 年 最 新 考 研 资 料 > 2-2 语 言 学 纲 要 笔 记, 由 考 取 本 校 本 专 业 高 分 研 究 生 总 结 而 来, 重 点 突 出, 借 助 此 笔 记 可 以 大 大 提 高 复 习 效

西 南 民 族 学 院 学 报 哲 学 社 会 科 学 版 第 卷 资 料 来 源 中 国 统 计 年 鉴 年 年 新 中 国 五 十 年 统 计 资 料 汇 编 中 国 人 口 统 计 年 鉴 年 数 据 资 料 来 源 中 国 统 计 年 鉴 中 国 统 计 出 版 社 年 版 资 料 来 源

Microsoft Word - 文件汇编.doc

金 不 少 于 800 万 元, 净 资 产 不 少 于 960 万 元 ; (3) 近 五 年 独 立 承 担 过 单 项 合 同 额 不 少 于 1000 万 元 的 智 能 化 工 程 ( 设 计 或 施 工 或 设 计 施 工 一 体 ) 不 少 于 2 项 ; (4) 近 三 年 每 年

2014年中央财经大学研究生招生录取工作简报

随着执业中医师资格考试制度的不断完善,本着为我校中医学专业认证服务的目的,本文通过对我校中医类毕业生参加2012年和2013年的中医执业医师考试成绩及通过率、掌握率进行分析,并与全国的平均水平进行差异比较分析,以此了解我校执业中医师考试的现状,进而反映我校中医类课程总体教学水平,发现考核知识模块教学中存在的不足,反馈给相关学院和教学管理部门,以此提高教学和管理水平。

新, 各 地 各 部 门 ( 单 位 ) 各 文 化 事 业 单 位 要 高 度 重 视, 切 实 加 强 领 导, 精 心 组 织 实 施 要 根 据 事 业 单 位 岗 位 设 置 管 理 的 规 定 和 要 求, 在 深 入 调 查 研 究 广 泛 听 取 意 见 的 基 础 上, 研 究 提

<4D F736F F D20B9D8D3DAB0BABBAAA3A8C9CFBAA3A3A9D7D4B6AFBBAFB9A4B3CCB9C9B7DDD3D0CFDEB9ABCBBE C4EAC4EAB6C8B9C9B6ABB4F3BBE1B7A8C2C9D2E2BCFBCAE92E646F6378>

国债回购交易业务指引

3 月 30 日 在 中 国 证 券 报 上 海 证 券 报 证 券 时 报 证 券 日 报 和 上 海 证 券 交 易 所 网 站 上 发 出 召 开 本 次 股 东 大 会 公 告, 该 公 告 中 载 明 了 召 开 股 东 大 会 的 日 期 网 络 投 票 的 方 式 时 间 以 及 审

 编号:

年 第 期 % %! & % % % % % % &


untitled


抗 日 战 争 研 究 年 第 期

第 期 李 伟 等 用 方 法 对 中 国 历 史 气 温 数 据 插 值 可 行 性 讨 论

ETF、分级基金规模、份额变化统计

<4D F736F F D20C6F3D2B5C5E0D1B5CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

黄 金 原 油 总 持 仓 增 长, 同 比 增 幅 分 别 为 4.2% 和 4.1% 而 铜 白 银 以 及 玉 米 则 出 现 减 持, 减 持 同 比 减 少 分 别 为 9.4%,9.4% 以 及 6.5% 大 豆, 豆 粕 结 束 连 续 4 周 总 持 仓 量 增 长, 出 现 小 幅


导 数 和 微 分 的 概 念 导 数 的 几 何 意 义 和 物 理 意 义 函 数 的 可 导 性 与 连 续 性 之 间 的 关 系 平 面 曲 线 的 切 线 和 法 线 导 数 和 微 分 的 四 则 运 算 基 本 初 等 函 数 的 导 数 复 合 函 数 反 函 数 隐 函 数 以

Microsoft Word - 资料分析练习题09.doc


21 业 余 制 -- 高 起 专 (12 级 ) 75 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 江 西 化 校 工 科 22 业 余 制 -- 高 起 专 (12 级 ) 70 元 / 学 分 网 络 学 院 学 生 沪 教 委 财 (2005)49 号 吉

第二讲 数列

全国建筑市场注册执业人员不良行为记录认定标准(试行).doc


定 位 和 描 述 : 程 序 设 计 / 办 公 软 件 高 级 应 用 级 考 核 内 容 包 括 计 算 机 语 言 与 基 础 程 序 设 计 能 力, 要 求 参 试 者 掌 握 一 门 计 算 机 语 言, 可 选 类 别 有 高 级 语 言 程 序 设 计 类 数 据 库 编 程 类


收 入 支 出 项 目 2016 年 预 算 项 目 2016 年 预 算 预 算 01 表 单 位 : 万 元 ( 保 留 两 位 小 数 ) 一 公 共 财 政 预 算 拨 款 一 人 员 经 费 一 般 财 力 人 员 支 出 成 品

!!

年 8 月 11 日, 公 司 召 开 2015 年 第 五 次 临 时 股 东 大 会, 审 议 通 过 了 关 于 公 司 <2015 年 股 票 期 权 激 励 计 划 ( 草 案 )> 及 其 摘 要 的 议 案 关 于 提 请 股 东 大 会 授 权 董 事 会 办 理 公

上证指数

附件1:

公 开 刊 物 须 有 国 内 统 一 刊 (CN), 发 表 文 章 的 刊 物 需 要 在 国 家 新 闻 出 版 广 电 总 局 ( 办 事 服 务 便 民 查 询 新 闻 出 版 机 构 查 询 ) 上 能 够 查 到 刊 凡 在 有 中 国 标 准 书 公 开

正 规 培 训 达 规 定 标 准 学 时 数, 并 取 得 结 业 证 书 二 级 可 编 程 师 ( 具 备 以 下 条 件 之 一 者 ) (1) 连 续 从 事 本 职 业 工 作 13 年 以 上 (2) 取 得 本 职 业 三 级 职 业 资 格 证 书 后, 连 续 从 事 本 职 业

三武一宗灭佛研究

<4D F736F F D2033D4C2C6DAD4D3D6BEA3A8B6A8B8E5CEC4BCFEA3A92E646F63>

上海证券交易所会议纪要

第2章 数据类型、常量与变量

教师上报成绩流程图

<4D F736F F D C4EAB9A4B3CCCBB6CABFCAFDD1A7D7A8D2B5BFCEBFBCCAD4B4F3B8D9D3EBD2AAC7F3>

试 论 后 民 权 时 代 美 国 黑 人 的 阶 层 分 化 和 族 裔 特 征 学 者 年 代 黑 人 中 产 阶 层 定 义 弗 瑞 泽 毕 林 斯 勒 马 克 艾 德 威 尔 逊 科 林 斯 兰 德 里 奥 力 威 夏 佩 罗 帕 锑 罗 收 入 来 源 于 从 事 可 以 定 义 为 白

中 国 社 会 科 学 年 第 期!!!! ( ( ) % ) ) ) % % % %

附 件 : 上 海 市 建 筑 施 工 企 业 施 工 现 场 项 目 管 理 机 构 关 键 岗 位 人 员 配 备 指 南 二 一 四 年 九 月 十 一 日 2

一 六 年 级 下 册 教 科 书 总 体 说 明 ( 一 ) 教 学 内 容 本 册 教 科 书 一 共 安 排 了 5 个 教 学 单 元, 其 中 前 4 个 单 元 为 新 知 识, 第 五 单 元 是 对 整 个 小 学 阶 段 所 学 数 学 知 识 系 统 的 整 理 和 复 习

投影片 1

第 六 章 债 券 股 票 价 值 评 估 1 考 点 一 : 债 券 价 值 的 影 响 因 素 2

<4D F736F F D20B3D6B2D6CFDEB6EEB1EDB8F1D7EED6D52E646F63>

Template BR_Rec_2005.dot

<4D F736F F D20BFC9B1E0B3CCD0F2BFD8D6C6CFB5CDB3C9E8BCC6CAA6B9FABCD2D6B0D2B5B1EAD7BC2E646F63>

002 电 子 科 学 与 工 程 学 院 拟 招 生 150 人 联 系 人 : 周 老 师, 电 话 物 理 电 子 学 电 路 分 析 电 磁 场 理 论 01 电 磁 物 理 与 微 波 电 子 学 02 光 子 学 与 光 电 技 术 03 微 纳

目 录 关 于 图 标... 3 登 陆 主 界 面... 3 工 单 管 理... 5 工 单 列 表... 5 搜 索 工 单... 5 工 单 详 情... 6 创 建 工 单... 9 设 备 管 理 巡 检 计 划 查 询 详 情 销 售 管

微 积 分 ( 二 ) 教 学 大 纲 2 (2010 版 ) 课 程 编 码 : 课 程 名 称 : 微 积 分 学 时 / 学 分 :36/2 先 修 课 程 : 初 等 数 学 立 体 几 何 平 面 解 析 几 何 微 积 分 ( 一 ) 适 用 专 业 : 人 力 资 源 管

!!!!!!!!!!

·岗位设置管理流程

( 此 页 无 正 文, 为 广 东 东 方 精 工 科 技 股 份 有 限 公 司 关 于 提 供 资 料 真 实 准 确 和 完 整 的 承 诺 函 之 签 署 页 ) 广 东 东 方 精 工 科 技 股 份 有 限 公 司 法 定 代 表 人 : 唐 灼 林 2016 年 7 月 28 日

3 复 试 如 何 准 备 4 复 试 成 绩 计 算 5 复 试 比 例 6 复 试 类 型 7 怎 么 样 面 对 各 种 复 试 04 05

2016年德州市机构编制委员会


思 想 政 治 理 论 经 核 查 无 误 思 想 政 治 理 论 经 核 查 无 误 思 想 政 治 理 论 经 核 查 无 误 思 想

类 似 地, 又 可 定 义 变 下 限 的 定 积 分 : ( ). 与 ψ 统 称 为 变 限 积 分. f ( ) d f ( t) dt,, 注 在 变 限 积 分 (1) 与 () 中, 不 可 再 把 积 分 变 量 写 成 的 形 式 ( 例 如 ) 以 免 与 积 分 上 下 限 的

中 中 中 中 部 中 岗 位 条 件 历 其 它 历 史 师 地 理 师 生 物 师 体 与 健 康 师 从 事 中 历 史 工 从 事 中 地 理 工 从 事 中 生 物 工 从 事 中 体 与 健 康 工 2. 课 程 与 论 ( 历 史 ); 2. 科 ( 历 史 )

数 学 标 准 不 练 习 1.1 理 解 问 题 并 坚 持 解 决 这 些 问 题 1.2 以 抽 象 和 定 量 方 式 推 理 1.3 建 构 可 行 参 数 和 评 判 他 人 的 推 理 1.4 使 用 数 学 方 法 建 模 1.5 策 略 性 地 使 用 合 适 的 工 具 1.6

<B8BDBCFE31A3BABAD3B1B1CAA6B7B6B4F3D1A7B8DFB2E3B4CEC8CBB2C5D5D0C6B8BCC6BBAE2E786C73>

Transcription:

北 京 大 学 学 报 ( 自 然 科 学 版 ) 第 52 卷 第 2 期 2016 年 3 月 Acta Scientiarum Naturalium Universitatis Pekinensis, Vol. 52, No. 2 (Mar. 2016) doi: 10.13209/j.0479-8023.2015.131 1, 陈 钢 1,2 于 林 宇 3 裘 宗 燕 1 王 颖 1. 北 京 京 航 计 算 通 讯 研 究 所, 北 京 100074; 2. 哈 尔 滨 工 业 大 学 航 天 学 院, 哈 尔 滨 150001; 3. 北 京 大 学 数 学 学 院 信 息 科 学 系, 北 京 100871; E-mail: gangchensh@qq.com 摘 要 近 年 来, 形 式 化 方 法 发 展 很 快, 一 些 技 术 已 经 产 生 工 业 应 用 以 逻 辑 系 统 为 主 线, 分 析 几 个 影 响 力 比 较 大 的 形 式 化 验 证 技 术 和 验 证 工 具, 以 帮 助 应 用 工 程 师 选 择 并 使 用 形 式 化 工 具 主 要 包 括 命 题 演 算 和 时 态 逻 辑 方 面 的 SAT BDD 模 型 检 测 和 SMT, 谓 词 逻 辑 方 面 的 ACL2 VDM 方 法 和 B 方 法, 以 及 高 阶 逻 辑 方 面 的 HOL PVS 和 COQ 还 介 绍 形 式 化 方 法 在 学 术 界 和 工 业 界 的 应 用 情 况, 最 后 给 出 几 个 商 业 化 的 形 式 化 验 证 工 具 关 键 词 形 式 化 方 法 ; 逻 辑 系 统 ; 验 证 技 术 中 图 分 类 号 TP301 Logic Based Formal Verification Methods: Progress and Applications CHEN Gang 1,, YU Linyu 1,2, QIU Zongyan 3, WANG Ying 1 1. Beijing Jinghang Research Institute of Computing and Communication, Beijing 100074; 2. School of Astronautics, Harbin Institute of Technology, Harbin 150001; 3. Department of Information Science, School of Mathematical Science, Peking University, Beijing 100871; E-mail: gangchensh@qq.com Abstract In recent years, formal methods have undergone a fast development. The authors give a brief review on the formal methods used in software and hardware verification. The main thread of the analysis consists of descriptions of logical systems and their related verification techniques and tools. The purpose is to help engineers to select formal tools and apply them to their work. This paper starts with a review of automated proving techniques based on propositional logic and temporal logic, including SAT, BDD, model checking, and SMT. For first order logic based theorem provers, the authors discuss ACL2, VDM method and B method. Among proof assistants which are based on higher order logics, the authors pick HOL, PVS and COQ. Advancements in commercial formal verification tools are discussed. Key words formal methods; logic systems; verification techniques 近 年 来, 形 式 化 方 法 的 研 究 与 应 用 极 其 活 跃 传 统 的 定 理 证 明 器 模 型 检 测 器 等 形 式 化 工 具 越 来 越 成 熟, 新 的 高 性 能 形 式 化 系 统 层 出 不 穷 在 应 用 领 域, 一 个 重 要 趋 势 是 出 现 越 来 越 多 较 大 规 模 的 形 式 验 证 成 果, 形 式 化 方 法 正 在 走 进 工 业 界 在 硬 件 验 证 领 域, 形 式 化 方 法 早 已 广 泛 采 用 INTEL 公 司 曾 因 为 浮 点 算 术 部 件 的 一 个 错 误 而 遭 受 近 5 亿 美 元 的 损 失, 此 后 INTEL 引 进 HOL 证 明 器, 开 发 了 FORTE 系 统, 将 形 式 化 方 法 引 入 验 证 流 程 引 入 形 式 化 方 法 的 大 公 司 还 有 AMD, IBM, INTEL, NVIDIA, CADENCE, Motorola, 西 门 子 和 微 软 等 等 学 术 界 也 出 现 了 一 批 有 规 模 的 实 用 型 形 式 化 研 究 成 果 比 如, 剑 桥 大 学 进 行 了 ARM6 处 理 器 的 验 证 [1], 德 国 的 Verisoft 项 目 验 证 了 一 个 一 万 行 的 操 作 系 统 核 心 [2], 法 国 国 家 信 息 研 究 所 (INRIA) 在 COQ 定 理 证 明 器 的 支 持 下, 开 发 并 验 证 了 一 个 完 整 的 C 编 译 器 [3] 一 批 专 业 性 的 形 式 验 证 公 司 正 在 兴 起 除 早 期 的 等 价 性 验 证 工 具 ( 如 FORMALITY) 外, 新 兴 公 司 收 稿 日 期 : 2014 06 20; 修 回 日 期 : 2015 06 12; 网 络 出 版 日 期 : 2016 03 16 363

北 京 大 学 学 报 ( 自 然 科 学 版 ) 第 52 卷 第 2 期 2016 年 3 月 ( 如 JASPER 和 Calypto) 采 用 更 高 级 的 证 明 技 术, 在 半 导 体 行 业 著 名 公 司 中 拥 有 很 多 客 户, 包 括 INTEL, NVDIA 和 ARM 等 等 虽 然 形 式 验 证 技 术 还 不 能 全 面 取 代 模 拟 验 证, 但 在 很 多 应 用 领 域, 商 业 化 的 形 式 验 证 工 具 已 经 相 当 成 熟, 其 应 用 范 围 迅 速 扩 大, 尤 其 是 它 们 能 够 发 现 传 统 验 证 方 法 难 以 发 现 的 错 误 在 国 外 大 公 司 中, 推 广 形 式 化 方 法 已 经 成 为 一 个 重 要 趋 势 2013 年 10 月 23 日, 半 导 体 行 业 的 著 名 论 坛 SemiWiki 1 上 有 一 条 引 人 注 目 的 消 息 Formal Will Dominate Verification 称 业 界 著 名 的 形 式 验 证 公 司 JASPER 自 2007 年 以 来, 年 增 长 速 度 为 37%, 超 过 EDA 工 业 平 均 水 平 6 倍, 其 用 户 数 增 长 率 为 79%, 许 可 证 增 长 率 为 129% 该 公 司 的 工 具 系 统 可 以 处 理 的 设 计 规 模 年 增 长 率 达 100%, 远 远 超 过 摩 尔 定 律 的 年 增 长 率 40% 文 章 作 者 认 为, 在 未 来, 形 式 化 方 法 将 成 为 验 证 行 业 的 主 流 工 具 统 计 显 示, 关 键 系 统 硬 件 验 证 所 花 费 的 时 间 占 系 统 开 发 总 时 间 的 70%~80%, 所 以, 形 式 化 方 法 对 整 个 硬 件 开 发 的 影 响 将 非 常 巨 大 在 这 种 形 势 之 下, 让 国 内 从 事 程 序 测 试 和 FPGA 验 证 的 专 业 部 门 和 工 程 人 员 较 全 面 地 了 解 形 式 化 方 法 的 进 展 很 有 必 要 形 式 化 方 法 这 一 领 域 非 常 庞 大, 本 文 仅 对 基 于 逻 辑 的 形 式 化 方 法 做 大 致 的 描 述, 介 绍 若 干 较 有 影 响 的 逻 辑 系 统 证 明 工 具 和 应 用 案 例, 帮 助 应 用 人 员 了 解 并 选 择 合 适 的 形 式 化 工 具 和 方 法 形 式 化 方 法 理 论 证 明 器 开 发 技 术 以 及 逻 辑 之 外 的 形 式 化 系 统 均 不 在 本 文 讨 论 范 围 之 内 1 命 题 演 算 和 SAT 求 解 器 最 简 单 的 逻 辑 系 统 是 命 题 演 算 (propositional calculus), 其 典 型 的 应 用 之 一 是 描 述 和 证 明 两 个 组 合 电 路 的 等 价 性 一 些 更 复 杂 的 问 题 也 能 用 命 题 演 算 表 示 和 证 明, 比 如 CPU 设 计 中 流 水 线 结 构 与 非 流 水 线 结 构 的 等 价 性 命 题 演 算 研 究 的 基 本 问 题 包 括 可 满 足 性 (Satisfiability) 和 永 真 性 所 谓 一 个 命 题 可 满 足 指 存 在 对 变 量 的 一 种 赋 值, 使 命 题 为 真 可 满 足 性 的 反 面 是 不 可 满 足, 即 对 这 个 命 题 的 所 有 赋 值 都 不 能 使 命 题 为 真, 或 者 说 该 命 题 是 永 假 命 题 (unsatisfiable) 永 假 命 题 的 否 定 命 题 便 是 永 真 命 题 (tautology), 因 此, 要 证 明 一 个 命 题 永 真 可 以 转 换 成 证 明 这 个 命 题 的 否 定 为 永 假 命 题 演 算 的 证 明 问 题 有 两 个 重 要 特 点 : 第 一 个 是 它 的 可 判 定 性, 即 可 以 构 造 出 自 动 化 的 算 法, 证 明 任 何 一 个 命 题 的 可 满 足 性 ; 第 二 个 特 点 是 证 明 的 复 杂 性 命 题 演 算 的 判 定 问 题 是 一 个 NP 完 全 性 问 题, 目 前, 解 决 此 类 问 题 的 算 法 所 需 的 时 间 和 空 间 资 源 都 随 问 题 规 模 增 加 呈 指 数 级 增 长 命 题 演 算 在 自 动 证 明 方 面 有 两 个 重 大 进 展 : 一 个 是 BDD 技 术 ; 另 一 个 是 SAT 求 解 器 它 们 大 幅 提 高 了 证 明 的 速 度 以 及 可 以 处 理 问 题 的 范 围 一 个 命 题 逻 辑 公 式 往 往 有 很 多 等 价 的 表 示 在 描 述 一 个 大 规 模 电 路 时, 大 部 分 描 述 方 式 会 占 用 很 大 的 存 储 空 间, 这 种 情 况 给 问 题 的 求 解 带 来 很 大 困 难 为 此, Bryant [4] 提 出 BDD (binary decision diagram) 技 术, 把 命 题 公 式 转 变 为 一 种 紧 凑 的 图 表 示 在 这 种 表 示 方 式 下, 所 有 相 互 等 价 的 命 题 公 式 只 有 唯 一 的 BDD 图 结 构 这 样, 一 方 面 减 少 了 逻 辑 公 式 在 计 算 机 中 所 占 的 空 间, 另 一 方 面 也 提 供 了 命 题 公 式 等 价 性 检 查 的 一 种 方 法 所 以, BDD 被 用 于 组 合 电 路 的 等 价 性 证 明 以 及 模 型 检 查 方 法 SAT 求 解 器 采 用 基 于 David-Putnam 的 搜 索 技 术 ( 也 称 DP 方 法 ) 解 决 可 满 足 性 问 题 原 始 的 DP 方 法 搜 索 效 率 很 低, 能 够 解 决 的 问 题 规 模 比 较 小 2000 年 以 来 出 现 一 批 对 DP 方 法 的 改 进 技 术, 比 如 冲 突 分 析 和 递 归 学 习 等 它 们 的 主 要 作 用 是 在 搜 索 过 程 中 通 过 对 已 处 理 过 的 子 树 的 分 析 找 出 一 些 特 征, 利 用 这 些 特 征 跳 过 许 多 搜 索 子 树, 因 此 有 可 能 大 大 削 减 搜 索 空 间 这 些 新 技 术 大 幅 度 提 高 了 证 明 的 速 度 和 规 模, 其 强 大 能 力 超 出 很 多 计 算 机 科 学 家 的 预 期 在 新 型 SAT 求 解 器 出 现 之 前, 一 般 的 定 理 证 明 器 大 约 只 能 证 明 几 十 个 最 多 几 百 个 变 量 的 问 题 而 新 的 SAT 求 解 器 所 解 决 的 最 大 案 例 超 过 了 一 百 万 个 变 量 和 3 百 万 ~4 百 万 个 子 句, 花 费 时 间 仅 几 小 时 [5] 因 此, SAT 技 术 可 用 于 大 规 模 集 成 电 路 的 验 证, 受 到 工 业 界 重 视, 一 些 商 业 化 的 形 式 化 工 具 内 部 都 包 含 SAT 求 解 器 当 前, 基 本 的 SAT 求 解 技 术 主 要 分 成 两 大 类 : 一 类 是 基 于 冲 突 分 析 (conflict analysis) 的 技 术, 代 表 性 的 1 http://www.semiwiki.com 364

陈 钢 等 求 解 器 有 Grasp, Sato, Chaff, MiniSat, Berk-Min, Siege 和 MaxSAT; 另 一 类 是 基 于 前 向 分 析 (lookahead) 的 技 术, 代 表 性 的 求 解 器 有 Bohm, Posit, Satz, EqSatz, OKsolver, March_dl 和 Kcnf 等 [5] SAT 求 解 器 是 许 多 更 复 杂 的 证 明 工 具 的 基 础, 是 模 型 检 测 和 SMT 工 具 中 的 一 个 重 要 模 块 除 在 硬 件 验 证 中 的 应 用 外, SAT 求 解 器 在 人 工 智 能, 软 件 验 证 等 领 域 也 有 广 泛 应 用 [5] 主 要 方 法 是 利 用 命 令 式 语 言 的 一 个 抽 象 模 型 状 态 转 换 系 统 (transition system) 例 如 在 C 程 序 验 证 中, 首 先 把 C 代 码 转 换 成 反 映 程 序 状 态 转 换 关 系 的 控 制 流 图, 然 后 把 程 序 验 证 归 结 为 检 查 程 序 是 否 可 能 到 达 某 个 出 错 位 置 的 问 题, 再 用 SAT 求 解 2 时 态 逻 辑 和 模 型 检 测 工 具 时 态 逻 辑 研 究 状 态 随 时 间 变 化 系 统 的 逻 辑 特 性 由 于 软 件 和 硬 件 的 运 行 都 是 状 态 变 化 的 过 程, 所 以 时 态 逻 辑 在 程 序 验 证 和 硬 件 验 证 中 应 用 相 当 广 泛 其 中, 有 3 类 特 性 的 应 用 最 广 : 安 全 性 (safty properties) 活 性 (liveness properties) 和 公 平 性 (fairness) 粗 略 地 说, 安 全 性 指 某 些 状 态 ( 不 好 的 ) 永 远 不 会 到 达 ; 活 性 指 某 种 期 待 的 良 好 性 质 迟 早 会 成 立 ; 公 平 性 指 系 统 提 供 的 各 项 服 务 都 将 有 平 等 的 机 会 得 到 执 行 时 态 逻 辑 特 性 通 常 用 模 型 检 查 工 具 来 验 证 模 型 检 查 是 一 种 著 名 的 形 式 化 技 术 [6], 这 里 的 模 型 指 系 统 的 模 型 在 软 件 中, 一 个 模 型 通 常 是 一 个 程 序, 在 硬 件 中 通 常 是 一 个 电 路, 此 外 模 型 也 可 以 是 软 硬 件 系 统 的 一 个 抽 象 模 型, 比 如 一 个 自 动 机 模 型 描 写 系 统 的 状 态 变 化 过 程, 模 型 检 查 就 是 检 查 此 模 型 是 否 满 足 某 些 预 先 规 定 的 要 求 或 特 性 系 统 的 特 性 通 常 用 时 态 逻 辑 表 示, 比 如 系 统 是 否 会 发 生 死 锁, 是 否 会 在 指 定 时 间 内 发 生 死 锁, 系 统 是 否 会 运 行 到 某 个 错 误 状 态, 是 否 在 指 定 时 间 内 能 够 对 输 入 信 号 做 出 响 应 等 等 模 型 检 查 的 基 本 方 法 就 是 对 系 统 状 态 进 行 穷 尽 搜 索, 以 验 证 系 统 是 否 满 足 规 定 的 特 性 应 用 模 型 检 测 方 法 时 要 考 虑 下 面 几 个 因 素 1) 特 性 描 述 语 言 根 据 任 务 要 求 选 择 适 用 的 特 性 描 述 语 言, 比 如 命 题 逻 辑 LTL 或 CTL 等 此 外 还 有 各 种 专 用 的 特 性 描 述 语 言, 比 如 PSL (property specification language) 2) 模 型 描 述 语 言 可 以 是 C, JAVA, Verilog 和 VHDL 等 语 言 写 的 源 代 码, 也 可 以 是 某 种 专 用 的 模 型 描 述 语 言 ( 如 Promela) 模 型 描 述 语 言 的 选 择 要 根 据 问 题 和 模 型 检 查 工 具 来 定 3) 模 型 检 查 工 具 包 括 针 对 软 件 的 工 具 和 针 对 硬 件 的 工 具, 模 型 检 查 工 具 决 定 特 性 描 述 语 言 和 模 型 描 述 语 言 模 型 检 查 工 具 数 量 非 常 多, 有 些 工 具 可 以 直 接 用 于 源 代 码 (C, C++, JAVA, Verilog 和 VHDL), 有 的 工 具 仅 对 某 种 抽 象 语 言 进 行 检 查, 有 些 工 具 有 自 己 的 语 言, 应 用 时 需 要 把 源 代 码 转 换 成 该 工 具 的 语 言, 也 有 些 工 具 可 用 于 多 种 语 言 下 面 介 绍 几 个 比 较 著 名 的 模 型 检 查 工 具 CBMC 是 卡 内 基 梅 隆 大 学 开 发 的 针 对 C 语 言 的 有 界 模 型 检 查 器, 也 支 持 C++ 和 System C 它 能 够 验 证 C/C++ 程 序 与 Verilog 等 其 他 程 序 之 间 的 语 义 一 致 性 (consistency), 方 法 是 将 语 言 中 的 循 环 展 开, 把 两 个 程 序 分 别 转 换 成 布 尔 表 达 式, 然 后 应 用 SAT 和 SMT 工 具 证 明 其 一 致 性, 如 果 两 个 程 序 不 一 致, CBMC 将 输 出 一 个 反 例 [7] Cadence SMV 是 McMillan 在 CMU 的 SMV 软 件 基 础 上 开 发 的 针 对 硬 件 验 证 的 符 号 模 型 检 查 工 具, 其 输 入 语 言 是 SMV 或 Verilog 语 言, 用 于 证 明 cache coherence 等 硬 件 设 计 问 题 该 工 具 可 以 免 费 用 于 学 习 和 研 究 工 作, 商 业 版 的 软 件 是 Cadence 公 司 的 Incisive 系 列 工 具 UPPAAL 是 一 个 基 于 时 间 自 动 机 的 模 型 检 测 工 具 [8], 用 多 个 并 行 自 动 机 表 示 并 行 系 统, 并 且 在 自 动 机 中 引 入 时 间 概 念 UPPAAL 系 统 能 够 支 持 系 统 的 建 模, 模 拟 和 形 式 化 特 性 验 证 由 于 模 型 检 查 工 具 能 够 进 行 自 动 证 明, 所 以 在 工 业 界 有 广 泛 应 用 模 型 检 查 的 一 个 案 例 如 列 车 距 离 保 持 系 统 软 件 验 证 欧 洲 铁 路 安 全 标 准 ( 比 如 CENELEC EN-50126, EN-50128) 要 求 采 用 形 式 化 方 [9] 法 Cimatti 等 用 模 型 检 查 方 法 验 证 了 Logica di Sicurezza (LDS) 软 件, 该 软 件 是 Ansalodo-STS 开 发 的 一 个 列 车 管 理 系 统 软 件 中 关 于 第 二 层 安 全 逻 辑 的 一 个 实 现 过 去, 该 软 件 依 靠 人 工 审 查 和 模 拟 进 行 验 证, 很 难 检 查 所 有 可 能 情 形 文 献 [9] 采 用 支 持 软 件 验 证 的 符 号 模 型 检 查 技 术, 并 使 用 模 型 检 查 器 NuSMV 研 究 者 把 一 个 C++ 子 集 所 写 的 需 求 说 明 转 换 为 NuSMV 的 描 述 语 言 代 码, 后 者 可 以 用 有 界 模 型 检 查 时 态 归 纳 和 CEGAR 等 方 法 进 行 证 明 另 外, 他 们 把 C++ 程 序 转 换 成 顺 序 C 代 码, 后 者 又 365

北 京 大 学 学 报 ( 自 然 科 学 版 ) 第 52 卷 第 2 期 2016 年 3 月 可 以 用 支 持 C 的 一 组 模 型 检 测 工 具 进 行 检 查 在 这 项 工 作 中, 研 究 者 比 较 了 一 批 模 型 检 查 工 具 KRATOS, BLAST, SATABS, CPACHECKER, CMBC 和 NuSMV, 做 了 94 个 测 试 案 例 结 果 显 示, NuSMV 表 现 最 好, 所 有 问 题 都 能 解 决, 且 速 度 最 快, 占 用 的 存 储 空 间 最 小 3 SMT 求 解 器 SMT [10] 起 源 于 对 SAT 的 扩 充 SAT 的 表 达 能 力 局 限 于 命 题 演 算, 许 多 问 题 需 要 用 更 强 大 的 逻 辑 系 统 来 表 达 近 几 年 出 现 的 一 个 新 动 向 是 在 SAT 基 础 上 通 过 添 加 理 论 的 方 式 进 行 扩 展, 既 增 加 了 表 达 能 力, 又 能 继 续 保 持 SAT 的 高 效 求 解 性 能 这 类 证 明 器 统 称 为 SMT SMT 中 的 理 论 可 以 看 做 描 述 一 类 数 据 结 构 的 公 理 集 合 常 用 的 理 论 有 等 式 理 论 算 术 理 论 指 针 理 论 和 矩 阵 理 论 等 在 SAT 基 础 上 扩 充 这 些 理 论, 使 得 一 些 程 序 验 证 工 作 能 够 高 效 进 行 SMT 方 面 的 研 究 是 近 几 年 形 式 化 方 法 的 一 个 热 点 在 SAT 基 础 上 仅 扩 充 单 个 理 论 往 往 不 能 满 足 应 用 的 需 要 为 了 能 够 扩 充 多 个 理 论, 需 要 有 一 种 理 论 组 合 方 法 最 早 提 出 的 理 论 组 合 方 法 有 Nelson- Oppen (NO), 其 他 理 论 组 合 方 法 有 Delayed Theory Combination(DTC) 和 Ackerman 化 方 法 DTC 在 NO 的 基 础 上 做 了 重 要 改 进, 很 多 优 秀 的 求 解 器 采 用 DTC 方 法, 包 括 Yices [11] Z3 [12], Mathsat5 [13] 和 CVC3 [14] Ackerman 化 方 法 是 一 种 特 殊 的 理 论 组 合 判 定 方 法, 用 来 处 理 未 解 释 函 数 的 理 论 组 合 问 题, 常 与 DTC 方 法 结 合 使 用, Z3 和 Mathsat4 采 用 了 该 方 法 SMT 的 发 展 非 常 迅 速, 目 前 流 行 的 SMT 求 解 器 有 Barcelogic, Beaver, Boolector, CVC3, ALT- Ergo, Mathsat5, OpenSMT, Sword, VeriT, Yices, Z3, STP 以 及 Spear 国 际 上 自 2005 年 开 始, 每 年 举 办 SMT 竞 赛, 2008 和 2009 两 年 中 排 名 居 前 的 几 个 证 明 器 是 Z3, Yices2, MathSAT-4.2, Barcelogic 和 CVC3 文 献 [15] 对 SMT 的 发 展 给 出 很 好 的 综 述, 使 用 3 万 多 个 测 试 用 例 检 查 5 个 主 要 的 SMT 求 解 器 分 析 显 示, Z3 总 体 求 解 能 力 最 强, Yices 在 处 理 位 移 等 式 类 问 题 时 正 确 求 解 的 问 题 最 多, MathSAT4 在 数 组 类 问 题 求 解 中 胜 出 能 解 决 所 有 问 题 的 求 解 器 除 Z3 外, 还 有 Yices 和 CVC3 CVC3 的 求 解 能 力 仅 次 于 Z3 Z3 在 定 理 证 明 类 的 测 试 案 例 中 求 解 时 间 是 Yices 和 CVC3 的 1/5 Yices 在 程 序 分 析 和 验 证 领 域 表 现 突 出 4 谓 词 逻 辑 及 一 阶 定 理 证 明 器 谓 词 逻 辑 也 称 一 阶 逻 辑, 其 描 述 语 言 是 在 命 题 演 算 的 基 础 上 增 加 谓 词 函 数 和 量 词, 因 此 描 述 能 力 比 命 题 演 算 更 强 许 多 数 学 定 理 可 以 用 谓 词 逻 辑 表 示 但 是, 在 表 达 能 力 增 强 的 同 时, 谓 词 逻 辑 也 失 去 全 自 动 证 明 的 优 势 谓 词 逻 辑 是 半 可 判 定 的, 即 能 够 开 发 一 个 定 理 证 明 器 当 一 个 谓 词 逻 辑 公 式 为 真 时, 证 明 器 最 终 能 够 证 明 该 定 理 ; 否 则, 定 理 证 明 器 可 能 永 远 无 法 给 出 答 案 谓 词 逻 辑 的 一 个 重 要 的 证 明 技 术 是 消 解 法 (resolution), 其 核 心 证 明 规 则 是 一 条 消 解 规 则 : A B, A C B C 如 果 一 个 一 阶 逻 辑 的 公 式 集 合 不 可 满 足, 那 么 用 消 解 法 最 终 能 够 推 出 假 如 果 要 从 一 组 假 设 H 1,..., H n 出 发 证 明 一 个 命 题 F 永 真, 只 需 证 明 集 合 {H 1,..., H n, ~F} 不 可 满 足 为 此, 首 先 把 这 个 集 合 转 换 成 等 价 的 CNF ( 合 取 范 式 ) 子 句 集 合, 然 后 用 消 解 法 证 明 该 集 合 可 以 推 出 假 迄 今 为 止, 基 于 消 解 法 的 证 明 系 统 还 没 有 产 生 类 似 SAT 那 样 的 性 能 突 破 大 部 分 谓 词 逻 辑 证 明 工 具 采 用 较 丰 富 的 规 则 集 合 及 各 种 启 发 式 证 明 策 略 4.1 ACL2 ACL2 是 美 国 奥 斯 汀 大 学 开 发 的 一 个 历 史 比 较 悠 久 的 谓 词 逻 辑 定 理 证 明 器 [16], 其 前 身 是 Boyer- Moore 证 明 器 [17] ACL2 是 一 个 基 于 LISP 语 言 的 证 明 工 具 LISP 语 言 既 用 于 描 述 定 理, 也 实 现 证 明 算 法 ACL2 证 明 器 的 一 个 重 要 特 点 是 结 构 归 纳 法 证 明 技 术, 适 用 于 在 表 结 构 上 定 义 的 函 数 特 性 证 明 ACL2 引 入 一 系 列 启 发 式 证 明 方 法, 许 多 定 理 能 够 自 动 证 明 在 硬 件 验 证 方 面, 早 在 20 世 纪 80 年 代 初, Hunt [18] 用 ACL2 在 RTL 层 上 设 计 了 FM8501 处 理 器, 并 进 行 正 确 性 证 明 随 后 他 将 这 项 工 作 扩 展 到 与 这 台 机 器 相 关 的 汇 编 软 件 链 接 程 序 以 及 操 作 系 统 的 正 确 性 证 明 90 年 代 初, 该 证 明 器 被 用 于 证 明 复 杂 度 更 高 的 处 理 器 FM9001, 验 证 工 作 一 直 进 行 到 门 电 路 一 级, 最 后 在 门 阵 列 上 实 现 证 明 中 的 引 理 和 定 理 共 一 万 多 行, 产 生 的 证 明 有 6 百 万 步 整 个 形 366

陈 钢 等 式 化 设 计 和 证 明 工 作 耗 时 3 年, 实 现 和 调 试 又 耗 时 [19] 半 年 90 年 代 末, Sawada 等 设 计 和 验 证 了 一 台 流 水 线 处 理 器 FM9801, 它 包 含 现 代 微 处 理 器 的 许 多 复 杂 特 征 : 无 序 发 射 Tomasulo 动 态 调 度 转 移 预 测 例 外 和 中 断 处 理 等 关 于 这 个 处 理 器 的 证 明 描 述 长 达 1200 页 由 于 ACL2 在 硬 件 验 证 方 面 的 成 绩, 多 个 半 导 体 公 司 将 它 用 于 工 业 产 品 的 验 证 比 如 Motorola 公 司 DSP 处 理 器 CAP 的 微 程 序 的 验 证 以 及 AMD 公 司 AMD-K5 处 理 器 浮 点 运 算 部 件 的 验 证 在 证 明 过 程 中, 他 们 还 开 发 了 从 RTL 到 ACL2 语 言 的 转 换 工 具 4.2 维 也 纳 方 法 (VDM) VDM 是 IBM 的 维 也 纳 小 组 20 世 纪 70 年 代 研 发 的 一 种 形 式 化 的 描 述 方 法 [20], 首 先 被 用 于 开 发 程 序 语 言 的 形 式 说 明, 后 来 发 展 为 一 般 软 件 的 描 述 和 开 发 方 法 VDM 是 在 欧 美 广 泛 使 用 的 形 式 化 描 述 语 言 之 一 VDM 的 理 论 基 础 是 一 阶 逻 辑 和 抽 象 数 据 类 型 一 个 VDM 规 范 (specification) 分 为 类 型 值 函 数 操 作 和 状 态 数 据 类 型 包 括 集 合 序 列 函 数 以 及 在 这 些 数 据 类 型 上 的 运 算 函 数 包 括 高 阶 函 数 和 多 态 函 数 VDM 数 据 类 型 分 为 简 单 类 型 和 复 合 类 型 复 合 类 型 有 联 合 类 型 记 录 类 型 和 笛 卡 尔 积 VDM 对 软 件 的 描 述 包 括 状 态 和 操 作 一 个 状 态 用 一 组 具 有 某 种 数 据 类 型 的 状 态 变 量 表 示 对 于 系 统 性 质, VDM 采 用 类 型 不 变 式 和 状 态 不 变 式 描 述 状 态 变 换 用 函 数 和 操 作 描 述, 操 作 是 可 以 访 问 和 修 改 全 局 变 量 的 特 殊 函 数 在 描 述 操 作 时, 可 以 描 述 它 们 的 前 置 条 件 和 后 置 条 件 操 作 的 描 述 中 可 以 使 用 let, if, cases, while 等 类 似 命 令 式 的 语 句, 在 VDM 中 称 为 声 明 总 体 而 言, VDM 是 一 个 在 命 令 式 语 言 中 加 入 逻 辑 特 性 描 述 的 语 言 [21] VDM 是 形 式 化 描 述 语 言 的 一 个 代 表 早 期 的 [22] 形 式 化 描 述 语 言 还 有 Z 方 法 和 Larch [23] 等 近 几 年 VDM 进 一 步 发 展 到 VDM++, 增 加 了 面 向 对 象 并 行 和 实 时 等 方 面 的 特 性 该 系 统 被 用 于 空 中 交 通 控 制 系 统 的 开 发 [24] 4.3 B 方 法 B 方 法 是 Abrial [25] 开 发 的 一 个 形 式 化 描 述 语 言, 同 时 又 是 一 个 证 明 工 具, 用 于 多 个 实 际 工 程, 包 括 多 个 铁 路 和 地 铁 控 制 系 统 通 讯 协 议 验 证 和 火 箭 控 制 等 等 B 方 法 是 在 Z 方 法 和 VDM 方 法 的 基 础 上 发 展 起 来 的, 除 继 承 前 两 个 方 法 的 主 要 特 点 之 外, 还 引 入 逐 步 求 精 (refinement) 和 抽 象 机 (abstract machine) 这 两 种 新 的 描 述 机 制 抽 象 机 是 系 统 的 基 本 描 述 框 架, 可 以 通 过 逐 步 求 精 的 方 式 将 其 不 断 精 化, 从 一 个 粗 略 的 抽 象 机 描 述, 逐 步 过 渡 到 更 细 致 的 抽 象 机 描 述 精 化 的 最 终 结 果 就 是 系 统 的 实 现 抽 象 机 的 逐 步 细 化 是 B 方 法 的 重 要 特 点, 在 精 化 过 程 中, 还 需 要 证 明 细 化 前 的 抽 象 机 与 精 化 后 的 抽 象 机 之 间 的 连 贯 性 (coherence), 也 就 是 要 证 明 两 者 没 有 逻 辑 冲 突, 因 此 通 过 逐 步 求 精 得 到 的 系 统 是 一 个 正 确 的 实 现 (correct by construction) 对 于 验 证 工 作, B 方 法 通 过 语 法 检 查 类 型 检 查 和 待 证 条 件 (proof obligation) 的 生 成 和 证 明 来 完 成 支 持 B 方 法 的 证 明 器 有 Atelier B 和 B-Toolkit, 分 别 是 CLEARSY 公 司 和 B-Core 公 司 开 发 的 商 业 软 件, 其 中 Atelier B 自 4.0 版 之 后 是 免 费 版 这 两 个 软 件 在 做 完 程 序 验 证 之 后, 生 成 C 代 码 或 ADA 代 码 证 明 器 确 保 生 成 的 代 码 没 有 无 用 变 量, 没 有 类 型 问 题, 没 有 无 效 代 码, 没 有 无 穷 循 环, 没 有 副 作 用 等 B 方 法 被 用 于 多 个 安 全 攸 关 的 实 用 系 统 开 发 在 这 些 项 目 中, 生 成 的 代 码 行 数 在 3000~180000 行 之 间, B 方 法 本 身 的 代 码 则 在 5000~250000 行 之 间 B 方 法 最 初 用 于 铁 路 行 业, 阿 尔 斯 通 公 司 和 西 门 子 公 司 都 是 B 方 法 的 客 户 后 来 人 们 又 将 B 方 法 用 于 汽 车 工 业 和 航 空 制 造 业 B 方 法 的 一 个 后 续 工 作 是 在 欧 洲 共 同 体 基 金 支 持 下 开 展 的 Event-B [26] 开 发 工 作 Event-B 在 B 方 法 的 基 础 上 进 行 精 简 和 扩 充, 是 一 种 基 于 事 件 (event) 变 换 逻 辑 断 言 和 不 变 式 以 及 证 明 的 模 型 开 发 工 具 Event-B 提 出 一 种 易 于 扩 充 的 系 统 建 模 和 验 证 框 架, 已 被 许 多 研 究 者 使 用, 也 被 用 于 开 发 实 际 的 软 硬 件 系 统 Robin 是 支 持 Event-B 开 发 的 软 件 平 台 其 他 基 于 一 阶 逻 辑 的 系 统 还 有 Z [22], E [27], Otter [28], Prover9 [29], Waldmeister [30] 和 SPASS [31] 等 5 高 阶 逻 辑 和 证 明 助 手 在 一 阶 逻 辑 中 只 有 一 阶 函 数 和 谓 词, 变 元 不 能 是 函 数 或 谓 词 高 阶 函 数 的 变 元 本 身 可 以 是 函 数 ( 包 括 高 阶 函 数 ) 量 词 的 变 元 也 可 以 取 函 数 为 值 一 阶 逻 辑 能 够 满 足 大 部 分 日 常 推 理 的 需 要, 其 367

北 京 大 学 学 报 ( 自 然 科 学 版 ) 第 52 卷 第 2 期 2016 年 3 月 常 用 软 件 硬 件 的 性 质 大 都 能 用 一 阶 逻 辑 表 示 但 是, 有 些 复 杂 的 问 题 需 要 高 阶 逻 辑 表 示, 如 高 阶 逻 辑 可 以 表 示 逻 辑 操 作 符 和 逻 辑 规 则 一 些 逻 辑 系 统 可 以 嵌 入 到 高 阶 逻 辑 当 中 高 阶 逻 辑 与 类 型 理 论 有 很 强 的 关 联 由 于 高 阶 逻 辑 表 示 能 力 很 强, 在 没 有 一 定 约 束 的 情 况 下, 高 阶 逻 辑 中 会 出 现 悖 论, 即 可 以 写 出 逻 辑 上 有 矛 盾 的 命 题 为 了 防 止 悖 论 的 出 现, 高 阶 逻 辑 需 要 引 入 类 型 系 统, 变 量 受 到 类 型 约 束 早 期 的 高 阶 定 理 证 明 器 ( 如 HOL 和 PVS) 建 立 在 简 单 带 类 型 λ- 演 算 的 基 础 之 上, 美 国 的 Twelf [32] 和 NuPrl [33] 建 立 在 一 阶 依 赖 类 型 (Dependent Types) λ- 演 算 之 上, 后 期 的 一 些 高 阶 定 理 证 明 器 ( 如 LEGO [34] 和 COQ) 建 立 在 高 阶 带 类 型 λ- 演 算 的 基 础 之 上 在 COQ 之 后, 虽 然 也 有 基 于 更 复 杂 的 逻 辑 系 统 的 高 阶 定 理 证 明 工 具, 但 这 些 工 具 尚 未 获 得 大 规 模 发 展 表 示 能 力 越 强 的 逻 辑, 自 动 证 明 的 能 力 就 越 弱 对 于 高 阶 逻 辑, 没 有 一 个 类 似 SAT 或 消 解 法 那 样 的 判 定 过 程 因 此, 人 机 交 互 证 明 是 高 阶 逻 辑 证 明 器 的 主 要 工 作 方 式, 证 明 器 的 作 用 在 于 辅 助 人 们 进 行 证 明 工 作, 简 化 一 些 证 明 步 骤 以 及 检 查 人 工 做 出 的 证 明 本 身 是 否 合 法 可 靠 所 以, 高 阶 定 理 证 明 器 也 称 为 证 明 助 手 (proof assistant) 或 证 明 检 查 器 (proof checker) 使 用 证 明 助 手 进 行 证 明 的 过 程 类 似 于 数 学 家 进 行 证 明 的 过 程, 需 要 开 发 一 组 相 关 的 引 理, 并 借 助 证 明 策 略 tactics 提 高 证 明 的 效 率 每 个 引 理 的 证 明 通 常 采 用 从 目 标 出 发 的 证 明 方 法 复 杂 的 证 明 目 标 需 要 分 解 成 子 目 标, 子 目 标 再 分 解 成 更 细 的 目 标, 直 到 最 后 完 成 证 明 如 果 一 个 子 目 标 的 证 明 难 度 较 大, 则 将 其 另 立 为 一 条 引 理, 单 独 进 行 证 明 证 明 策 略 tactics 用 于 对 子 目 标 进 行 分 解 以 及 直 接 证 明 系 统 除 提 供 基 本 的 证 明 策 略 外, 还 提 供 证 明 策 略 的 构 造 方 法, 用 户 可 以 通 过 构 造 新 的 证 明 策 略 加 速 证 明 过 程 一 些 比 较 复 杂 的 证 明 策 略 相 当 于 对 一 类 问 题 的 自 动 化 证 明 过 程 某 些 自 动 证 明 算 法 可 以 通 过 这 种 方 法 融 合 到 证 明 中 5.1 HOL HOL 是 剑 桥 大 学 20 世 纪 80 年 代 初 开 发 的 一 个 证 明 器, 很 早 就 用 于 证 明 一 个 简 单 CPU 的 正 确 性, 后 来 又 证 明 了 一 个 工 业 用 的 CPU VIPER 的 正 确 性 [35] 90 年 代, Windley [36] 提 出 一 个 CPU 验 证 框 架, 将 CPU 分 为 指 令 层 微 指 令 层 多 相 时 钟 层 和 结 构 层 等, 下 面 一 层 相 当 于 其 直 接 上 层 的 一 个 解 释 器 证 明 工 作 被 分 解 为 对 每 个 解 释 器 的 正 确 性 证 明, 即 证 明 每 个 解 释 器 正 确 地 解 释 上 一 层 的 指 令 他 用 这 个 方 法 证 明 了 一 个 32 位 RISC 结 构 的 AVM 机 的 正 确 性 在 INTEL 浮 点 运 算 器 出 错 之 后, INTEL 聘 用 剑 桥 大 学 的 HOL 专 家 Harrison, Harrison 用 HOL 系 统 证 明 了 浮 点 运 算 器 的 正 确 性 浮 点 运 算 器 实 际 上 比 许 多 CPU 核 心 更 为 复 杂, 这 是 一 个 有 相 当 规 模 的 工 作 INTEL 也 建 立 了 一 个 专 门 的 形 式 化 研 究 小 组, 设 计 语 言 并 实 现 了 一 个 证 明 工 具, 其 中 包 含 一 个 类 似 HOL 的 内 核 以 及 支 持 自 动 验 证 的 符 号 模 拟 器 现 在 INTEL 内 部 有 一 大 批 验 证 工 作 用 形 式 化 方 法 进 行, 而 且 在 某 种 程 度 上 取 代 了 模 拟 验 证 [37] 5.2 PVS PVS 是 美 国 SRI International 在 20 世 纪 90 年 代 初 开 发 的 一 个 系 统, 其 自 动 证 明 能 力 优 于 HOL 自 动 证 明 模 块 包 括 以 BDD 为 基 础 的 命 题 演 算 证 明 算 术 和 等 式 证 明 自 动 条 件 重 写 和 归 纳 证 明 验 证 速 度 比 HOL 高 出 许 多 倍 PVS 是 简 单 带 类 型 高 阶 逻 辑, 类 型 系 统 包 括 多 态 类 型 和 谓 词 子 类 型 由 于 类 型 过 于 丰 富, 该 系 统 的 类 型 检 查 问 题 不 可 判 定 20 世 纪 90 年 代 中 期, PVS 被 用 于 证 明 AAMP5 处 理 器 的 正 确 性 该 处 理 器 被 洛 克 希 德 公 司 和 波 音 公 司 用 于 飞 行 控 制 验 证 花 费 近 3000 小 时, 写 了 近 8000 行 描 述 程 序, 发 现 两 个 预 埋 的 错 误 和 两 个 以 前 未 发 现 的 实 际 错 误 [38] 5.3 COQ COQ 是 基 于 直 觉 主 义 高 阶 带 类 型 λ- 演 算 证 明 器 的 代 表 [39] 直 觉 主 义 逻 辑 的 一 个 重 要 特 点 是 把 证 明 与 计 算 联 系 在 一 起, 即 : 证 明 等 同 于 计 算, 等 同 于 程 序 它 的 哲 学 理 念 是 在 一 个 正 确 性 证 明 完 成 之 后, 从 证 明 中 抽 取 出 正 确 的 程 序 在 实 际 应 用 中, 从 证 明 抽 取 程 序 的 做 法 不 多 见, 但 COQ 确 实 能 把 程 序 嵌 入 在 证 明 系 统 中, 也 能 够 在 证 明 程 序 正 确 性 的 同 时 得 到 可 靠 的 程 序 COQ 并 没 有 像 HOL 和 PVS 那 样 大 量 用 于 硬 件 验 证, 但 是 COQ 的 生 命 力 是 目 前 所 有 证 明 器 中 最 强 的, 它 的 影 响 力 在 全 世 界 范 围 不 断 扩 大, 一 些 学 者 甚 至 用 COQ 撰 写 计 算 机 教 科 书 很 多 大 中 型 证 明 工 作 已 经 在 COQ 平 台 上 完 成, 包 括 对 数 学 领 域 著 名 的 四 色 问 题 的 证 明, 对 群 论 中 368

陈 钢 等 最 重 要 的 有 限 群 分 类 定 理 中 的 一 个 部 分 奇 数 阶 定 理 的 证 明 ( 包 含 170000 行 COQ 代 码, 4000 多 个 定 义, 证 明 了 约 15000 个 定 理 ), 对 COQ 自 身 的 核 心 部 分 的 证 明, 以 及 对 一 个 实 现 了 ANSIC 的 完 整 的 编 译 器 的 证 明 2003 年 以 来, 中 国 在 COQ 的 引 进 和 吸 收 方 面 加 快 了 步 伐 清 华 大 学 牵 头, 联 合 国 内 多 所 名 牌 大 学 ( 如 北 京 大 学 中 国 科 学 技 术 大 学 和 华 东 师 范 大 学 等 ) 连 续 5 年 举 办 COQ 暑 期 班, 从 法 国 请 来 专 家 讲 课, COQ 知 识 在 国 内 得 到 一 定 程 度 的 普 及 此 后, 全 国 很 多 机 构 在 COQ 开 发 方 面 取 得 可 喜 成 绩, 比 如, 航 空 集 团 西 安 飞 行 自 动 控 制 研 究 所 结 合 使 用 COQ, FRAMA-C 和 WHY 工 具 对 数 组 越 界 空 指 针 引 用 和 缓 冲 区 溢 出 三 类 问 题 进 行 安 全 验 证, 西 北 工 业 大 学 在 COQ 基 础 上 验 证 了 嵌 入 式 操 作 系 统 的 微 内 核 6 形 式 化 方 法 的 应 用 方 式 实 际 应 用 中 行 之 有 效 的 形 式 化 方 法 应 用 方 式 大 致 分 为 3 类 : 1) 直 接 验 证 开 发 的 系 统 ; 2) 构 造 并 验 证 系 统 的 抽 象 模 型 ; 3) 把 验 证 融 入 到 系 统 设 计 和 开 发 过 程 中, 边 设 计 边 验 证 6.1 对 实 际 系 统 或 系 统 部 分 的 验 证 实 际 系 统 通 常 用 某 种 形 式 化 定 义 的 语 言 描 述, 如 程 序 设 计 语 言 或 硬 件 描 述 语 言 在 基 于 逻 辑 的 验 证 中, 提 供 的 信 息 采 用 某 种 逻 辑 语 言 描 述 最 常 见 的 需 求 描 述 是 一 些 实 际 语 言 提 供 的 断 言 机 制 形 式 化 方 法 对 断 言 做 静 态 检 查, 通 过 证 明 技 术 保 证 断 言 对 任 何 执 行 过 程 都 能 通 过 目 前 有 一 些 基 于 现 有 开 发 语 言 的 扩 充 语 言, 其 中 提 供 了 增 强 的 断 言 描 述 机 制, 可 以 更 好 地 支 持 对 所 开 发 系 统 的 验 证 这 方 面 的 典 型 工 作 如 基 于 C# 语 言 的 Spec# [40] 和 基 于 Java 的 JML [41], 都 是 在 基 础 编 程 语 言 上 增 加 丰 富 的 断 言 描 述 机 制, 可 能 还 增 加 一 些 专 门 用 于 支 持 断 言 验 证 的 库 这 些 语 言 可 以 方 便 地 描 述 函 数 ( 方 法 ) 的 前 后 条 件 循 环 不 变 式 类 ( 对 象 ) 不 变 式 等, 统 称 为 规 范 (specification) 人 们 也 为 这 种 扩 充 语 言 开 发 了 相 应 的 验 证 系 统, 能 自 动 ( 或 半 自 动 ) 地 验 证 源 程 序 代 码 是 否 满 足 其 中 嵌 入 的 系 统 规 范 经 过 这 样 验 证 的 系 统 更 为 可 靠 和 安 全 另 一 个 值 得 注 意 的 工 作 是 NASA 开 发 的 Java Path Finder(JPF) [42] 这 是 一 个 针 对 Java 字 节 码 程 序 的 模 型 检 查 工 具, 可 以 用 于 检 测 程 序 执 行 中 可 能 出 现 的 各 种 错 误, 包 括 死 锁 未 处 理 异 常 等 复 杂 的 难 以 定 位 的 错 误 前 面 介 绍 的 OVL 就 是 直 接 验 证 硬 件 设 计 的 系 统 和 工 具 6.2 系 统 的 形 式 化 建 模 和 验 证 前 述 方 法 直 接 在 系 统 开 发 的 层 面 上 描 述 系 统 的 需 求 并 进 行 验 证, 所 采 用 的 规 范 描 述 接 近 代 码, 有 可 能 直 接 发 现 程 序 描 述 中 的 错 误 但 是, 这 种 方 式 也 有 一 些 固 有 的 缺 点 首 先, 规 范 描 述 可 能 包 含 大 量 实 现 细 节, 很 繁 琐, 验 证 的 工 作 量 有 时 非 常 大, 有 些 性 质 的 验 证 需 要 很 多 人 工 干 预 再 者, 在 代 码 层 面 上 工 作, 一 些 重 要 的 高 层 需 求 可 能 很 难 描 述 和 验 证 ( 例 如 那 些 全 局 性 的 跨 越 不 同 程 序 模 块 的 系 统 性 质 ), 这 些 情 况 都 要 求 我 们 考 虑 在 抽 象 的 系 统 模 型 上 进 行 验 证 目 前 大 量 的 形 式 化 验 证 工 作 是 在 模 型 的 层 面 上 进 行 的 一 个 系 统 的 形 式 化 模 型 是 该 系 统, 或 系 统 的 某 些 部 分 或 侧 面 的 形 式 化 描 述, 它 反 映 该 系 统 中 当 前 关 注 的 一 些 特 性 或 性 质 常 用 的 形 式 化 模 型 描 述 工 具 很 多, 如 通 用 的 自 动 机 或 时 间 自 动 机 状 态 迁 移 系 统 逻 辑 语 言 进 程 代 数 语 言 等, 专 门 用 于 计 算 机 系 统 建 模 的 形 式 化 语 言 如 Z, VDM 等 各 种 形 式 化 验 证 工 具 都 提 供 了 自 己 的 描 述 语 言, 可 能 是 某 种 通 用 形 式 化 记 法 的 专 门 化, 也 可 能 是 针 对 某 方 面 问 题 专 门 设 计 的 语 言, 如 SPIN, SMV, UPPAAL 等 工 具 提 供 的 建 模 语 言 不 同 建 模 语 言 有 其 特 殊 的 方 面, 如 有 些 语 言 特 别 适 合 建 模 并 发 系 统 或 者 实 时 系 统 等 除 建 模 语 言 外, 还 需 要 相 应 的 性 质 描 述 语 言, 用 于 描 述 模 型 的 性 质, 作 为 验 证 的 依 据 在 系 统 开 发 的 各 个 阶 段, 形 式 化 分 析 和 建 模 都 可 能 发 挥 重 要 作 用, 在 这 些 方 面 已 经 有 许 多 成 功 的 范 例 一 个 典 型 事 例 是 用 UPPAAL 建 模 一 个 audio/ video 实 时 传 输 协 议 人 们 都 知 道 该 协 议 有 错, 但 通 过 测 试 一 直 无 法 找 到 错 误 用 UPPAAL 建 模 后, 不 但 找 到 了 错 误, 还 自 动 产 生 修 正 建 议 和 证 明 [43] 另 一 个 范 例 是 对 IBM CICS (Custom Information Control System) 的 再 工 程, 与 常 规 方 法 的 对 比 开 发 显 示, 采 用 基 于 Z 方 法 建 模 的 开 发 过 程, 既 提 高 了 系 统 的 质 量, 也 降 低 了 开 发 费 用 在 系 统 工 作 中 采 用 形 式 化 模 型 和 验 证 技 术, 主 要 困 难 在 于 系 统 模 型 的 选 择 和 构 建 这 里 最 关 键 的 问 题 是 如 何 保 证 建 立 的 模 型 确 实 反 映 了 被 建 模 的 系 统 的 相 关 性 质, 只 有 这 样 建 立 的 模 型 才 是 有 效 的 但 是, 这 种 有 效 性 无 法 给 出 严 格 证 明, 只 能 通 过 其 369

北 京 大 学 学 报 ( 自 然 科 学 版 ) 第 52 卷 第 2 期 2016 年 3 月 他 技 术 手 段 检 验 和 确 认 6.3 基 于 形 式 化 方 法 的 系 统 开 发 由 于 在 系 统 开 发 的 各 阶 段 都 可 能 采 用 形 式 化 建 模 和 验 证 技 术, 人 们 自 然 会 想 到 这 些 模 型 之 间 的 联 系, 能 否 在 后 面 阶 段 利 用 或 改 造 前 面 开 发 的 模 型, 后 面 阶 段 的 模 型 能 否 保 持 前 面 模 型 已 有 的 性 质 等 如 果 能 有 效 地 利 用 需 求 模 型 开 发 高 层 设 计 模 型, 利 用 高 层 设 计 模 型 开 发 详 细 设 计 模 型, 直 至 最 后 实 现, 并 且 能 保 证 后 续 模 型 能 保 持 前 面 模 型 已 经 验 证 的 性 质, 就 非 常 理 想 了 这 种 系 统 开 发 方 式 显 然 有 很 多 优 点, 例 如 : 前 期 分 析 和 设 计 模 型 相 对 抽 象, 有 益 于 检 查 和 验 证 系 统 的 高 层 和 全 局 性 的 性 质 ; 细 节 模 型 逐 渐 具 体, 有 益 于 验 证 系 统 的 细 节 性 质 ; 在 不 同 层 次 和 阶 段 验 证, 可 能 分 解 系 统 验 证 中 的 困 难, 可 能 较 好 地 支 持 复 杂 系 统 的 开 发 等 等 前 面 所 述 的 B 方 法 即 是 这 方 面 的 开 创 性 工 作 之 一 其 目 标 就 是 支 持 形 式 化 的 系 统 开 发 工 作 : 开 发 者 首 先 用 B 方 法 提 供 的 基 于 一 阶 逻 辑 和 集 合 论 的 语 言 建 立 高 层 系 统 模 型, 证 明 其 满 足 所 需 的 性 质 ; 然 后 通 过 加 入 细 节 或 更 改 结 构 的 方 式 变 换 模 型, 并 证 明 一 个 精 化 定 理, 保 证 新 模 型 保 持 原 模 型 已 证 明 过 的 性 质 ; 这 样 一 直 做 下 去, 直 至 得 到 一 个 可 实 现 模 型, 最 后 用 系 统 提 供 的 代 码 生 成 工 具 直 接 生 成 可 执 行 程 序 7 商 业 化 的 形 式 化 工 具 在 很 长 的 一 段 时 间 内, 关 心 形 式 化 方 法 的 主 要 是 学 术 机 构 的 研 究 人 员, 大 部 分 形 式 化 验 证 工 具 都 是 免 费 的 除 EDA 行 业 的 等 价 性 证 明 工 具 外, 商 业 化 运 作 的 形 式 化 工 具 数 量 不 多, 有 一 些 还 从 收 费 产 品 转 变 成 免 费 产 品 近 几 年 的 一 个 趋 势 是 更 高 级 的 商 业 化 形 式 化 工 具 的 出 现 和 流 行 微 软 的 Z3 最 初 是 一 个 免 费 工 具, 现 在 的 售 价 为 [15] 9999 美 元 根 据 李 靖 等 的 分 析, 在 SMT 类 的 证 明 工 具 中, Z3 的 总 体 表 现 超 过 同 类 软 件 2013 年 5 月 国 际 DAC 会 议 (EDA 工 具 方 面 最 重 要 的 国 际 会 议 ) 上 有 两 个 形 式 验 证 工 具 倍 受 瞩 目 : 一 个 是 进 行 特 性 验 证 的 JASPER 工 具, 另 一 个 是 进 行 C 与 RTL 等 价 性 证 明 的 Calypto SLEC 工 具 Calypto 公 司 在 2013 年 的 DAC 会 议 后 的 用 户 评 分 中 获 得 两 项 第 一 : 一 个 是 低 功 耗 第 一, 另 一 个 是 高 级 综 合 第 一 分 析 显 示, Calypto 之 所 以 受 用 户 欢 迎, 最 重 要 的 因 素 是 它 的 证 明 工 具 SLEC 比 如, 在 低 功 耗 方 面, 要 对 程 序 做 很 多 复 杂 变 换, 因 此 要 证 明 变 换 后 的 代 码 与 原 先 的 代 码 等 价, SLEC 能 够 进 行 自 动 证 明, 所 以 很 受 欢 迎 这 一 技 术 目 前 没 有 竞 争 对 手 硬 件 验 证 方 面 的 另 一 个 工 具 是 IBM 公 司 的 RuleBase Jasper 工 具 目 前 在 硬 件 验 证 行 业 有 比 较 广 泛 的 应 用 INTEL, ARM 和 NIVIDA 等 大 公 司 均 引 入 此 工 具 该 工 具 的 功 能 之 一 是 进 行 时 序 电 路 的 等 价 性 验 证 这 一 能 力 在 电 路 优 化 clock gating 和 低 功 耗 设 计 等 场 合 非 常 有 用 一 个 案 例 显 示, 原 本 需 要 3 天 进 行 模 拟 的 验 证 工 作, 采 用 Jasper 时 序 等 价 性 验 证 技 术 仅 耗 费 45 分 钟 就 可 以 完 成 验 证 这 一 技 术 目 前 能 够 处 理 几 百 万 门 以 上 的 大 型 设 计, 并 且 能 够 大 幅 度 提 高 可 靠 性 NIVIDIA 公 司 对 一 项 大 型 设 计 进 行 模 拟 验 证 后, 再 用 Jasper 工 具 进 行 形 式 验 证, 结 果 发 现 20 个 错 误, 占 所 发 现 错 误 总 数 的 50% Jasper 公 司 声 称 他 们 的 工 具 比 市 场 上 同 类 工 具 的 速 度 快 10 倍 基 于 Jasper 的 形 式 验 证 近 几 年 发 展 势 头 很 快, 几 乎 成 为 主 要 半 导 体 公 司 不 可 缺 少 的 工 具 之 一 在 某 些 场 合, Jasper 形 式 验 证 完 全 取 代 模 拟 验 证 根 据 ARM 的 一 个 验 证 报 告, 在 一 个 典 型 案 例 中 设 置 1400 条 验 证 断 言, 能 够 成 功 验 证 的 断 言 超 过 一 半, 发 现 15 个 错 误, 另 外 有 670 个 断 言 未 能 验 证 最 近, Jasper 公 司 已 被 Cadence 公 司 收 购 从 国 外 公 司 的 应 用 情 况 看, 用 好 形 式 化 工 具 也 是 一 个 困 难 的 问 题, 学 习 时 间 一 般 都 要 在 半 年 以 上, 并 且 经 常 需 要 形 式 化 工 具 的 公 司 派 出 专 家 进 行 现 场 帮 助 指 导, 指 导 费 用 也 非 常 昂 贵 8 结 语 形 式 化 方 法 是 一 个 非 常 复 杂 庞 大 的 领 域, 本 文 只 给 出 一 个 简 略 的 概 要 性 介 绍, 局 限 在 若 干 重 要 的 逻 辑 系 统 以 及 相 关 验 证 工 具 的 范 围 内, 重 点 是 我 们 能 够 了 解 到 的 发 展 比 较 快 的 系 统, 或 者 是 发 展 比 较 成 熟 的 系 统 图 1 概 括 描 述 本 文 涉 及 的 逻 辑 系 统 证 明 技 术 和 证 明 工 具 近 10 年 来, 形 式 化 方 法 的 发 展 非 常 迅 速 由 于 篇 幅 所 限, 许 多 重 要 的 发 展 方 向 未 能 包 含 在 本 文 中, 比 如 针 对 GPU 程 序 的 形 式 验 证 方 法, 基 于 会 话 语 言 的 形 式 验 证 系 统, 以 及 对 软 错 误 的 形 式 化 验 证 方 法, 等 等 370

陈 钢 等 Fig. 1 图 1 逻 辑 系 统 和 证 明 系 统 的 分 类 Classification of logical systems and proving systems 从 未 来 趋 势 上 看, 形 式 化 方 法 将 继 续 在 理 论 工 具 方 法 教 育 和 应 用 上 同 时 发 展, 这 几 个 方 向 之 间 会 有 大 量 的 交 互 活 动, 许 多 问 题 有 待 解 决 比 如 对 嵌 入 式 系 统 的 高 层 描 述, 目 前 已 经 出 现 了 多 种 形 式 化 理 论, 但 是 对 现 实 中 的 系 统, 这 些 方 法 依 然 不 够 用 未 来 究 竟 应 该 研 究 一 种 统 一 的 嵌 入 式 系 统 形 式 模 型, 还 是 针 对 嵌 入 式 系 统 的 各 个 具 体 领 域 开 发 专 用 的 形 式 化 理 论, 是 一 个 很 有 实 际 价 值 的 理 论 问 题 形 式 验 证 工 具 的 研 究 依 然 是 形 式 化 方 法 的 一 个 热 点, 优 秀 的 工 具 是 应 用 形 式 化 方 法 的 关 键 环 节 工 具 的 开 发, 一 方 面 需 要 不 断 提 高 效 率 和 描 述 能 力, 另 一 方 面 需 要 与 应 用 领 域 紧 密 结 合 类 似 于 Formality 和 JASPER 这 样 商 业 化 的 验 证 工 具 不 但 具 备 很 强 的 证 明 能 力, 而 且 结 合 了 硬 件 设 计 领 域 中 长 期 积 累 的 经 验 形 式 化 方 法 的 发 展 会 促 进 计 算 机 教 育 的 改 革, 比 如 COQ 系 统 被 一 些 大 学 应 用 于 计 算 机 教 学 另 一 方 面, 形 式 化 方 法 的 发 展 也 呼 唤 计 算 机 教 育 的 改 革, 最 大 的 难 点 是 进 行 跨 学 科 的 综 合 性 教 育, 需 要 一 个 结 合 形 式 化 理 论 软 件 工 程 微 电 子 科 学 嵌 入 式 系 统 和 工 业 控 制 系 统 的 多 方 位 的 综 合 性 教 学 体 制 对 于 几 十 年 来 所 积 累 的 形 式 化 方 法 成 果, 需 要 进 行 认 真 整 理 和 提 炼 数 学 理 论 的 形 式 化 工 作 在 国 际 上 已 经 有 几 十 年 的 历 史, 未 来 将 会 出 现 一 个 包 含 全 部 数 学 理 论 的 形 式 化 数 学 知 识 库, 数 学 的 研 究 工 作 直 接 在 形 式 化 系 统 中 进 行 这 一 工 作 方 向 还 将 拓 展 到 其 他 领 域, 比 如 集 成 电 路 设 计 的 形 式 化 知 识 库 等 软 件 与 硬 件 领 域 是 受 到 形 式 化 方 法 冲 击 最 直 接 的 领 域, 未 来 的 开 发 人 员 至 少 需 要 掌 握 一 两 种 形 式 化 工 具, 以 便 进 行 设 计 和 验 证 致 谢 感 谢 李 艳 志 研 究 员 张 津 荣 研 究 员 刘 军 研 究 员 郑 德 利 高 级 工 程 师 郑 金 艳 高 级 工 程 师 孟 伟 博 士 舒 毅 博 士 等 同 事 对 这 项 工 作 的 多 方 面 帮 助 感 谢 张 静 同 学 对 文 章 的 校 对 和 整 理 参 考 文 献 [1] Fox A. Formal specification and verification of ARM6 // Theorem Proving in Higher Order Logics. Rome, 2003: 25 40 [2] Daum M, Schirmer N W, Schmidt M. Implementation correctness of a real-time operating system // Van Hung D, Krishnan P. 7th International Conference on Software Engineering and Formal Methods (SEFM 2009). Hanoi, 2009: 23 32 [3] Leroy X. Formal verification of a realistic compiler. Communications of the ACM, 2009, 52(7): 107 115 [4] Bryant R. Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, 1986, C-35(8): 677 691 [5] Biere A. Handbook of Satisfiability. IOS Press, 2009 [6] Clarke E M, Grumberg O, Peled D A. Model checking. Cambridge, MA: The MIT Press, 1999 [7] Clarke E, Kroening D, Yorav K. Behavioral consistency of C and verilog programs using bounded model checking, DAC 2003. Anaheim, 2003: 368 371 [8] Behrmann G, David A, Larsen K G. A tutorial on 371

北 京 大 学 学 报 ( 自 然 科 学 版 ) 第 52 卷 第 2 期 2016 年 3 月 Uppaal // Proceedings of the 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems. Bertinora, 2004: 200 236 [9] Cimatti A, Corvino R, Lazzaro A, et al. Formal verification and validation of ERTMS industrial railway train spacing system // Computer Aided Verification. Berkeley, 2012: 378 393 [10] De Moura L, Dutertre B, Shankar N. A tutorial on satisfiability modulo theories // CAV 2007. Berlin, 2007: 20 36 [11] Dutertre B. Yices 2.2 // CAV 2014. Vienna, 2014: 737 744 [12] Bjorner N, McMillan K, Rybalchenko A. Higher-order program verification as satisfiability modulo theories with algebraic data-types [R/OL]. (2013 06 21) [2014 05 20]. http://arxiv.org/abs/1306.5264vl [13] Cimatti A, Griggio A, Schaafsma B, et al. The MathSAT5 SMT solver // Proc TACAS 2013. Rome, 2013: 93 107 [14] Barrett C, Tinelli C. CVC3 // Damm W, Hermanns H. Proceedings of the 19th International Conference on Computer Aided Verification (CAV 07). Berlin, 2007: 298 302 [15] 李 靖, 刘 万 伟. SMT 求 解 器 理 论 组 合 技 术 研 究. 计 算 机 工 程 与 科 学, 2011, 33(10): 111 119 [16] Kaufmann M, Manolios P, Moore J. Computer aided reasoning: an approach. Dordrecht: Kluwer Academic Publishers, 2000 [17] Boyer B, Moore J. Mechanized formal reasoning about programs and computing machines // Veroff R. Automated Reasoning and Its Applications: Essays in Honor of Larry Wos. Cambridge, MA: The MIT Press, 1996: 147 176 [18] Hunt W. Microprocessor design verification. Journal of Automated Reasoning, 1989, 5(4): 429 460 [19] Sawada J, Hunt W A. Verification of FM9801: an outof-order microprocessor model with speculative execution, exceptions, and program-modifying capability. Form Methods Syst Des, 2002, 20(2): 187 222 [20] Dines B, Jones C B. The vienna development method: the meta-language // Lecture Notes in Computer Science 61. Berlin: Springer, 1978 [21] Fitzgerald J S, Larsen P G, Mukherjee P, et al. Validated designs for object-oriented systems. Berlin: Springer Verlag, 2005 [22] Spivey M. The Z notation: a reference manual. Prentice Hall International Series in Computer Science, 1992, 11(3): 167 173 [23] Guttag J V, Horning J J. Larch: languages and tools for formal specification. New York: Springer-Verlag, 1993 [24] Yousaf S, Zafar N A, Khan S A. Formal verification and validation of aircraft departure process in air traffic control system using VDM++. International Journal of Engineering and Technology, 2012, 4(6): 755 759 [25] Abrial J R. The B-book: assigning programs to meanings. Cambridge: Cambridge University Press, 2005 [26] Abrial J R. Modeling in Event-B-System and software engineering. Cambridge: Cambridge University Press, 2010 [27] Schulz S. System description: E 1.8 // Proceedings of the 19th LPAR. Stellenbosch, 2013: 477 483 [28] McCune W, Wos L. Otter: the CADE-13 competition incarnations. Journal of Automated Reasoning, 1997, 18(2): 211 220 [29] McCune W. Prover9 and Mace4 [EB/OL]. [2014 05 20]. http://www.cs.unm.edu/~mccune/prover9 [30] Buch A, Hillenbrand T. Waldmeister: development of a high performance completion-based theorem prover, SEKI-Report SR-96-01[R]. Kaiserslautern: Universital Kaiserslautern, 1996 [31] Weidenbach C, Dimova D, Fietzke A, et al. SPASS Version 3.5 // 22nd International Conference on Automated Deduction, CADE 2009. Montreal, 2009: 140 145 [32] Pfenning F, Schurmann C. System description: twelf-a meta-logical framework for deductive systems // Ganzinger H. Proceedings of the 16th International Conference on Automated Deduction (CADE-16). Trento: Springer-Verlag, 1999: 202 206 [33] Constable C L, Allen S F, Bromley H M, et al. Implementing mathematics with the nuprl proof development system. Englewood Cliffs, NJ: Prentice- 372

陈 钢 等 Hall, 1985 [34] Luo Zhaohui, Pollack R. LEGO proof development system: user s manual: LFCS Technical Report ECS- LFCS-92-211[R]. Edinburgh: The University of Edinburgh, 1992 [35] Gordon M. Why higher-orer logic is a good formalism for specifying and verifying hardware // Milne G, Subrahmanyam P. Formal Aspects of VLSI Design, Amsterdam: Elsevier Science Publishers B V, 1986 [36] Windley P. Formal modeling and verification of microprocessors. IEEE Trans Comput, 1995, 44(1): 54 72 [37] 陈 钢. λ 演 算 和 微 处 理 器 验 证. 高 性 能 计 算 技 术, 2010(2): 37 42 [38] De Moura L, Dutertre B, Shankar N. A tutorial on satisfiability modulo theories // 19th Int Conf Computer Aided Verification. Berlin, 2007: 20 36 [39] Bertot Y, Casteran P. Interactive theorem proving and program development. Coq Art: The Calculus of Inductive Constructions, Series: Texts in Theoretical Computer Science. An EATCS Series, 2004 [40] Barnett M, Rustan K, Leino M, et al. The Spec# programming system: an overview // CASSIS 2004: LNCS 3362. Marseille, 2004: 46 69 [41] Chalin P, Kiniry J R, Leavens G T, et al. Beyond assertions: advanced specification and verification with JML and ESC/Java2 // Formal Methods for Components and Objects (FMCO) 2005. Amsterdam, 2006: 342 363 [42] Visser W, Havelund K, Brat G, et al. Model checking programs. Automated Software Engineering Journal, 2003, 10(2): 203 232 [43] Havelund K, Skou A, Larsen K G, et al. Formal modeling and analysis of an audio/video protocol: an industrial case study using UPPAAL // Proceedings of the 18th IEEE Real-Time Systems Symposium (RTSS 97). Washington, DC: IEEE Computer Society, 1997 373