一、前言
本篇安装SPIN的教程虽然是在Ubuntu 18.04系统上操作的,但是针对旧版本(如16.10、16.04、14.04等)Ubuntu都是适用的。其余的话不多说,直接开始吧。
二、SPIN的基本介绍
(一) 基本概况
SPIN(Simple Promela Interpreter)是一种适合于并行系统的开源软件验证工具,尤其是协议一致性的辅助分析检测工具,主要用于多线程软件应用程序的形式验证
,全世界成千上万的人都在使用它。SPIN最早是在1980年由计算科学研究中心Unix小组的贝尔实验室所开发,自1991年开始免费提供,经过不断发展以跟上新发展的步伐,并且在2002年4月获得了ACM系统软件奖。
(二) 功能介绍
- SPIN旨在有效
验证多线程软件
,而不是硬件电路的验证。 - SPIN为
嵌入式C代码
的使用提供了直接支持,作为模型规范的一部分。 - SPIN为使用
多核计算机
进行模型检查运行提供直接支持——支持安全性和活性属性的验证。 - SPIN
即时工作
,这意味着它不需要预构建全局状态图或Kripke结构,作为验证系统属性的先决条件。 - SPIN可以用作完整的
LTL模型检查
系统,支持线性时间逻辑中可表达的所有正确性要求,但它也可以用作高效的动态验证器,以获得更基本的安全性和活跃性。 - SPIN支持
集合和缓冲消息传递
,以及通过