• 什么类型的应用你有没有用 模型检查 用的?
  • 什么型号的检查工具你有没有用?
  • 你会怎么总结你的经验w/技术,特别是在评估其有效性提供更高质量的软件吗?

在我的研究,我有机会使用 旋转, 和它引起了我的好奇心为多少实际的模型检查是怎么回事,多少价值的组织得到了它。在我工作的经验,我们工作的业务应用程序,在那里存在(自然地)没有考虑申请正式核实的逻辑。我真的很想了解有关这样伙计模型检查的经验和思想上的问题。将模式检查以往任何时候都成为一个更广泛的应用发展中的实践,我们应该在我们的工具?

有帮助吗?

解决方案

我刚刚完成了一类型的检查和很大的工具,我们使用 旋转SMV.我们结束了利用它们来检查性质上的共同步问题,我找到SMV只是一点点更容易使用。

虽然这些工具是有趣的使用,我认为他们真的很闪耀的时候你把它们用一些东西,强制执行动态的制约,在你的节目(使它更容易一点来验证"有用"事关于你的节目)。我们结束了如果 弹簧WebFlow框架, ,其中采用XML写国家机器,如文件,以指定网页的可能过渡到其他人,并使用SMV能够执行核查在上述应用程序(无耻的插在这里).

来回答你的最后一个问题,我认为模型的检查,肯定是有益的,但是我更倾向于采用单元的测试作为一种技术,这让我感觉舒适有关提供我的最终产品。

其他提示

我们必须使用几个模型的棋子在教学、系统设计和系统的发展。我们工具箱中包括旋,尤帕、Java探路者,PV和茂物.每个人都有其强项和弱点。所有找到问题的模型是根本不可能为人类发现。他们可用性的不同而异,但大多数都按钮自动化。

当使用一个模型检查?我想说的任何时间你所描述的一模式,必须有(或不)的特殊性质和它是任大于少数的概念。任何人认为,他们可以描述和理解什么大或更加复杂的是自欺欺人。

什么类型的应用你有没有使用模型检查?

我们使用的Java路搜索模型检查,以验证一些安全(僵局,竞争条件)和暂时性质(使用直线时间的逻辑,指定)。它支持经典的说法(如NotNull)在Java(码)-这是程序的模型检查。

什么型号的检查工具你有没有用?

我们使用 Java路搜索 (学术目的)。它是开放源码软件的开发由美国国家航空航天局开始。

你会怎么总结你的经验w/技术,特别是在评估其有效性提供更高质量的软件吗?

程序模型检查,具有一个主要问题与国家空间爆炸(存储磁盘的使用).但是有各种各样的技术减少的问题,以处理大型项目,如为减少,抽象,对称的减少,等等。

我用旋,以找到一个并发的问题在PLC软件。它发现一个没有料到的竞争条件,将已经很难找到通过检查或测试。

顺便说一句,是否有一个"旋傻瓜"的书吗?我不得不学它的"旋转模型检查"书和各种在线教程。

我已经做了一些研究这一问题在我的时间在大学,扩大 国探模型组件检查程序.

我们用一个虚拟的机器行走的每一个和每一个可能的路径/状态的程序,使用*和一些启发,这取决于什么样的错误(僵局,I/O错误,...)

它的灵感来自于 Java Pathfinder 它曾与C++编码。(一切海湾合作委员会可以编制)

但是,在我们的经验,这种技术将不会被用于商业应用,很快,因为GUI相关的问题,必要的工作,建立一个初始测试环境和巨大的硬件要求。(你需要大量的存和盘空间,因为巨大的国家空间)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top