Software Verification and Analysis

An Integrated, Hands-On Approach

by Janusz Laski, William Stanley

“The situation is good, but not hopeless” (Polish folk wisdom) The text is devoted to the Software Analysis and Testing (SAT) methods and s- porting tools for assessing and, if possible, improving software quality, specifically its correctness. The term quality assurance is avoided for it is this author’s firm belief that in the current state of the art that goal is unattainable, a plethora of “gu- anteed” solutions to the problem notwithstanding. Therefore, the rather awkward phrase “improving correctness” is to be understood as an effort to minimize the number of residual programming faults (“bugs”) and their impact on the software’s behavior, that is, to make the faults tolerable. It is clear that such a minimalist approach is a result of frustration. Indeed, having spent years developing software and teaching (preaching?) “How to do it right,” I still do not know how to go about it with any degree of certainty! It appears then I probably should stop right now, for who with a modicum of common sense would reach for a text that does not offer salvation but (as will be seen) hard work and misery? If I intend to continue, it is only that I suspect there are many professionals out there who have similar doubts. And they are the intended audience of this project. The philosophical underpinning of the text is the importance of sound engine- ing practices in software development.

  • Springer London; April 2009
  • ISBN: 9781848822405
  • Read online, or download in DRM-free PDF (digitally watermarked) format
  • Title: Software Verification and Analysis
  • Author: Janusz Laski; William Stanley
  • Imprint: Springer

In The Press

From the reviews:

"Software verification is a set of important activities in the software development process that leads to determining whether the software product fulfills requirements. … It could also be very useful to software engineering researchers and practitioners. The quality of the book is enhanced by the wide range of examples that illustrate various problems and offer appropriate solutions. The physical quality of the book is extremely high." (M. Ivanovic, ACM Computing Reviews, June, 2009)

“Software verification and validation are conducted to help ensure that programs perform correctly. … While this book’s subtitle indicates a ‘hands-on approach,’ it really takes a formal mathematical approach to describing software verification. … The book includes plenty of diagrams and figures, and it explains verification concepts with examples. This work is useful as a complement to hands-on testing books to detail the mathematical foundations of software verification. Summing Up: Recommended. Upper-division undergraduates through professionals.” (H. J. Bender, Choice, Vol. 47 (3), November, 2009)