Software Verification and Analysis

An Integrated, Hands-On Approach

  • William Stanley
  • Janusz Laski

Table of contents

  1. Front Matter
    Pages i-xviii
  2. The Semantic Analysis

    1. Front Matter
      Pages 1-1
    2. Janusz Laski, William Stanley
      Pages 1-14
    3. Janusz Laski, William Stanley
      Pages 39-61
    4. Janusz Laski, William Stanley
      Pages 63-79
    5. Janusz Laski, William Stanley
      Pages 81-99
  3. Static Analysis

    1. Front Matter
      Pages 1-1
    2. Janusz Laski, William Stanley
      Pages 103-123
    3. Janusz Laski, William Stanley
      Pages 125-142
  4. Dynamic Analysis

    1. Front Matter
      Pages 1-1
    2. Janusz Laski, William Stanley
      Pages 173-202
    3. Janusz Laski, William Stanley
      Pages 203-219
  5. Back Matter
    Pages 221-224

About this book


This book advocates the integrated and tool supported use of all available verification methods to improve software correctness. The following major software verification techniques and their supporting tools, based on sound mathematical models, are discussed:

• Correctness by construction, using the Vienna Development Method-Specification Language (VDM-SL) and its supporting CSK’s Toolbox.

• Static program analysis supported by the PRAXIS’ SPARK toolset and SofTools’ System for Testing And Debugging (STAD 4.0).

• Program proving supported by SPARK.

• Dynamic program analysis supported by STAD.

VDM-SL Toolbox and SPARK illustrate, respectively, the correctness by construction and program proving paradigms. The author demonstrates that while both methods are powerful, errors are inevitable and detecting these may be more difficult than in the case of an informally developed program. Consequently, error detection must be an integral part of the entire life cycle of a programming project. Black-Box (specification based) and Structural (code based) testing are covered and supported by STAD (including 5 testing criteria). STAD also features a quite powerful descriptive and proscriptive static analysis.

Software engineers, students and computer scientists will find that the book provides the reader with a comprehensive understanding of software verification issues. STAD’s outputs allow the user to implement and test their own ideas.

The most recent version of STAD can be downloaded from


Debugging Program dependencies Program proving Software verification Static analysis software testing verification

Authors and affiliations

  • William Stanley
  • Janusz Laski

There are no affiliations available

Bibliographic information

  • DOI
  • Copyright Information Springer-Verlag London 2009
  • Publisher Name Springer, London
  • eBook Packages Computer Science
  • Print ISBN 978-1-84882-239-9
  • Online ISBN 978-1-84882-240-5
  • Buy this book on publisher's site
Industry Sectors
Chemical Manufacturing
Finance, Business & Banking
IT & Software
Energy, Utilities & Environment