【名人推荐】我第一次翻开这本书时,立刻被这本书的覆盖范围之广所深深打动,它覆盖了规约和建模、演绎验证、模型检验、进程代数、程序测试、状态与消息序列图。除了对每个方法进行了相当深入的介绍以外,本书还讨论了应当在何时选取何种方法以及在选择这些方法时所必须做出的权衡。书中结合当前工具,使用很多具有挑战性的实例来说明各种技术。我还没看见过其他任何覆盖同样内容的书籍能达到如此的深度。同时,本书描述了应用形式化方法的过程:从建模和规约开始,然后选择一个合适的验证技术,最后测试程序。这些知识在实践中是十分必要的,但是却很少在软件工程的课本里面出现。我确信这本书将会取得巨大的成功。我向所有对软件可靠性问题感兴趣的读者强烈推荐这本书。—— Edmund M. Clarke教授图灵奖获得者,卡内基-梅隆大学【内容简介】用于创建可靠软件的形式化方法一直处于不断的开发和改进之中。最近,人们对于形式化方法工具的重要组成有了更深入的理解,从软硬件开发业界逐渐接受可靠性工具这一点就可以体现出来。本书介绍了各种能解决软件可靠性问题的方法。理想情况下,形式化方法应该用起来直观,学起来简洁、快速,对开发过程的影响微乎其微。本书对各种方法进行了比较,揭示了它们各自的优点和缺点,同时紧扣自动机理论和逻辑这两个主题。在尽可能减少背景知识介绍的前提下,本书向非专家读者描述了多种技术,并且针对软件工程领域的研究人员和专业人士介绍了一些高级技术。本书主题和特点:? 集中介绍目前常用的重要软件可靠性方法,并将它们互作比较,这些方法包括:演绎验证、自动验证、测试和进程代数? 为具体项目的软件选择过程提供有用信息? 提供了大量的练习、项目和连续性的实例,方便读者学习形式化方法并能够亲手使用这些工具? 介绍了支持形式化方法的数学原理? 对于该领域未来的研究方向,以及开发新方法和改进现有技术提出了有益的见解