微软的可满足性问题与多任务线程服务器的轻量级验证
在当今的计算机科学领域,约束满足问题在众多领域中都有着广泛的应用。同时,随着硬件技术的发展,多任务线程服务器的设计和验证也变得愈发重要。本文将探讨微软的可满足性求解器以及使用Plural工具对多任务线程服务器进行轻量级验证的案例。
1. 微软的可满足性求解器Z3
约束满足问题在软件和硬件验证、类型推断、静态程序分析、测试用例生成、调度、规划和图问题等众多领域中普遍存在。这些领域的核心都使用逻辑公式来描述状态以及状态之间的转换。其中,命题可满足性问题(SAT)是最为知名的约束满足问题,其目标是确定由布尔变量和逻辑连接词组成的公式是否可以通过为变量选择真/假值而使其为真。对于一些更复杂的问题,需要使用更丰富的语言(如算术)来描述,这时就需要相应的支持理论,而解决这类问题的求解器通常被称为可满足性模理论(SMT)求解器。
微软研究院开发的Z3是目前最先进的SMT求解器之一,它可以用于检查一个或多个理论上的逻辑公式的可满足性。SMT求解器与软件工具非常匹配,因为许多常见的软件构造可以直接映射到支持的理论中。Z3在微软内部有着广泛的应用,一些应用被包含在Windows 7附带的工具中作为关键组件,还有一些在内部使用,另外一些则可用于学术研究。Z3目前是最顶级的SMT求解器。
2. 多任务线程服务器(MTTS)的轻量级验证案例
随着硬件工程师和芯片制造商开发出更大的多核处理器,计算机科学家们正在努力开发能够利用这种并行计算能力的编程语言和编程范式。例如,Æminium研究项目正在开发一个平台,允许程序员编写默认并发的程序并支持大规模并行计算。而该平台的发展受到了其前身Plural工具的很大影响。 <
超级会员免费看
订阅专栏 解锁全文
4051

被折叠的 条评论
为什么被折叠?



