Ubuntu 18.04下安装SPIN教程

目录

一、前言

本篇安装SPIN的教程虽然是在Ubuntu 18.04系统上操作的,但是针对旧版本(如16.10、16.04、14.04等)Ubuntu都是适用的。其余的话不多说,直接开始吧。

二、SPIN的基本介绍

(一) 基本概况
SPIN(Simple Promela Interpreter)是一种适合于并行系统的开源软件验证工具,尤其是协议一致性的辅助分析检测工具,主要用于多线程软件应用程序的形式验证,全世界成千上万的人都在使用它。SPIN最早是在1980年由计算科学研究中心Unix小组的贝尔实验室所开发,自1991年开始免费提供,经过不断发展以跟上新发展的步伐,并且在2002年4月获得了ACM系统软件奖。

(二) 功能介绍

  1. SPIN旨在有效验证多线程软件,而不是硬件电路的验证。
  2. SPIN为嵌入式C代码的使用提供了直接支持,作为模型规范的一部分。
  3. SPIN为使用多核计算机进行模型检查运行提供直接支持——支持安全性和活性属性的验证。
  4. SPIN即时工作,这意味着它不需要预构建全局状态图或Kripke结构,作为验证系统属性的先决条件。
  5. SPIN可以用作完整的LTL模型检查系统,支持线性时间逻辑中可表达的所有正确性要求,但它也可以用作高效的动态验证器,以获得更基本的安全性和活跃性。
  6. SPIN支持集合和缓冲消息传递,以及通过共享内存进行通信,还支持使用同步和异步通信的混合系统。

(三)主要模式

  1. 作为模拟器,允许使用随机、引导或交互式模拟进行快速原型设计。
  2. 作为详尽的验证者,能够严格证明用户指定的正确性要求的有效性。
  3. 作为证明近似系统,甚至可以验证具有最大状态空间覆盖的非常大的系统模型。
  4. 作为群体验证的驱动程序 (一种可以利用任意大小的云网络的新型群体计算),可以充分利用大量可用的计算核心来利用并行性和搜索多样化技术,从而增加定位缺陷的机会在非常大的验证模型中。

(四)工作原理

  1. 首先,SPIN从一个描述的协议系统的高层模型规格开始,经分析没有语法错误后,对系统的交互进行模拟,直到确认系统设计拥有预期的行为;
  2. 然后,SPIN将产生一个用C语言描述的验证程序,经检验器编译后被执行,执行中如果发现了违背正确性说明的任何反例,则可反馈给交互模拟机,通过重现细节剔除引起错误的原因。

关于更详细介绍请点击这里进入官方网站查看

三、SPIN的安装过程

(一)软件准备

  1. SPIN首页下载完整的软件包 spinXX.tar.gz,点击此处进入SPIN首页,如下图所示,点击下载含有源码的完整软件包spin649.tar.gz
    Ubuntu 18.04下安装SPIN教程

  2. 这里作者也将完整的软件包上传到了百度网盘,需要的小伙伴们请点击这里前往下载,提取码为mvry

(二)相关依赖安装
【注意】下面所有的安装步骤请以root用户进行操作
1.安装byacc

	apt-get install byacc

2.安装tcl

	apt-get install tcl

3.安装tk(在wish中):

 	apt-get install wish

(1)安装完wish后,查看wish所在目录:

	whereis wish

(2)将wish拷贝到/usr/local/bin/目录:

	cp /usr/bin/wish /usr/local/bin/

4.安装SPIN
(1)解压下载的压缩包:

	tar -zxvf spin649.tar.gz

(2)进入源码目录:
Ubuntu 18.04下安装SPIN教程

	cd Spin/Src*

(3)编译源码:

	make

(4)拷贝编译好的spin程序:

	cp spin /usr/local/bin/

(5)查看是否安装成功:

	spin –V

5.安装ISPIN(图形化的SPIN工具):
(1)进入Spin下的iSpin目录:
Ubuntu 18.04下安装SPIN教程

	cd Spin/iSpin

(2)运行install.sh进行安装:

	sh install.sh

(3)安装成功后,启动ispin:

	ispin

(4)ispin启动成功后的结果如下图所示。
Ubuntu 18.04下安装SPIN教程

四、致谢

至此,Ubuntu 18.04系统下SPIN就安装成功了,关于SPIN的使用请另行参考其他教程。感谢大家的阅览!

上一篇:linux 阻塞 open 作为对 EBUSY 的替代


下一篇:C10K问题