线上期刊服务咨询,发表咨询:400-808-1701 订阅咨询:400-808-1721

一种自动化模型检测ANSI—C程序的实用方法

王大伟 张大方 缪力 计算机工程与科学 2010年第04期

摘要:模型检测是一种验证有限状态系统的时序逻辑属性的形式化方法。为了利用模型检测技术,通常的办法是手工构建一个抽象模型,然而这个方法存在一些不足,如成本过高、易引入建模错误等。本文提出了一种自动化模型检测ANSI—C程序的方法,并开发了模型提取工具C2Spin,它能够分析ANSI-C源代码,并生成对应的PROMELA验证模型,从而显著降低了建模的开销。利用C2Spin,模型检测工具SPIN可以自动地检测使用C语言编写的应用程序中的多种错误,如死锁等。在初步实验中,依靠C2Spin生成的模型,我们发现了SPIN4.3.0的一个语义错误,以及Holzmann对两个经典互斥算法的实现程序中的活锁错误。这些结果表明,C2Spin能够帮助人们更加快速有效地测试C程序。

关键词:形式化方法模型检测模型提取promela

单位:

注:因版权方要求,不能公开全文,如需全文,请咨询杂志社

计算机工程与科学

北大期刊

¥624.00

关注 46人评论|5人关注