Logo - springer
Slogan - springer

Computer Science - Theoretical Computer Science | Verification of Sequential and Concurrent Programs

Verification of Sequential and Concurrent Programs

Apt, Krzysztof, de Boer, Frank S., Olderog, Ernst-Rüdiger

Originally published in the series: Graduate Texts in Computer Science

3rd ed. 2009, XXIV, 502p. 26 illus..

Available Formats:

Springer eBooks may be purchased by end-customers only and are sold without copy protection (DRM free). Instead, all eBooks include personalized watermarks. This means you can read the Springer eBooks across numerous devices such as Laptops, eReaders, and tablets.

You can pay for Springer eBooks with Visa, Mastercard, American Express or Paypal.

After the purchase you can directly download the eBook file or read it online in our Springer eBook Reader. Furthermore your eBook will be stored in your MySpringer account. So you can always re-download your eBooks.


(net) price for USA

ISBN 978-1-84882-745-5

digitally watermarked, no DRM

Included Format: PDF

download immediately after purchase

learn more about Springer eBooks

add to marked items


Hardcover version

You can pay for Springer Books with Visa, Mastercard, American Express or Paypal.

Standard shipping is free of charge for individual customers.


(net) price for USA

ISBN 978-1-84882-744-8

free shipping for individuals worldwide

usually dispatched within 3 to 5 business days

add to marked items


Softcover (also known as softback) version.

You can pay for Springer Books with Visa, Mastercard, American Express or Paypal.

Standard shipping is free of charge for individual customers.


(net) price for USA

ISBN 978-1-4471-2513-6

free shipping for individuals worldwide

usually dispatched within 3 to 5 business days

add to marked items

  • Explores the verification of programs allowing dynamic process creation
  • Includes four new chapters on increasingly important aspects of programming in this third edition
  • Contains many learning tools to aid the reader such as case studies, exercises, comprehensive references/further reading and helpful appendices

Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, and the proper functioning and safety of these systems is of paramount importance. The development of methods that ensure program correctness is therefore a key challenge for computer scientists.

This widely anticipated third edition of Verification of Sequential and Concurrent Programs provides a systematic exploration of one of the most common approaches to program verification, known as the "assertional" approach. Following the successful formula of previous editions, this approach is applied to deterministic and nondeterministic sequential programs of varying complexity, together with both parallel and distributed concurrent programs. The expanded content of this thorough new edition also includes coverage of the verification of object-oriented programs. For each class of programs, the authors introduce an operational semantics and proof systems for the verification of partial and total correctness, justified formally in corresponding soundness theorems. Case studies supplied throughout the book demonstrate the use of the proof systems to formally verify solutions to classical problems, such as sorting, manipulation of lists, producer/consumer and mutual exclusion.

Topics and Features:

  • Includes a thorough introductory section, familiarizing the reader with the basic concepts and notation used in the book, as well as the book’s structure
  • Explains Hoare’s approach to program verification for while programs, providing a correctness proof of a program for partitioning an array (NEW)
  • Concludes each chapter with exercises and bibliographic remarks for further reading
  • Discusses recursive programs that extend deterministic programs by parameterless procedures and procedures with the call-by-value parameter mechanism, and provides a correctness proof of the quicksort program (NEW)
  • Explores nondeterministic and distributed programs, presenting a verification method of distributed programs based on a transformation into nondeterministic ones
  • Presents object-oriented programs, with a focus on the main characteristics of objects (NEW)
  • Investigates parallel programs with shared variables and with synchronization
  • Studies the issue of fairness in the framework of nondeterministic programs, using an approach based on the method of explicit schedulers
  • Includes a Foreword by Professor Amir Pnueli

This modern update of a classic, reader-friendly textbook is perfect for an introductory course on program verification for advanced undergraduate or graduate students, and may also be used as an introduction to operational semantics. Outlines for possible courses are suggested in the Preface to the book. This book is unique in addressing assertional verification of all essential classes of imperative programs: while programs, recursive programs, object-oriented programs, nondeterministic programs, parallel programs, and distributed programs.

Content Level » Graduate

Keywords » Variable - complexity - program verification

Related subjects » Theoretical Computer Science

Table of contents 

Part I: In the Beginning Introduction Preliminaries Part II: Deterministic Programs while Programs Recursive Programs Recursive Programs with Parameters Object-Oriented Programs Part III: Parallel Programs Disjoint Parallel Programs Parallel Programs with Shared Variables Parallel Programs with Synchronization Part IV: Nondeterministic and Distributed Programs Nondeterministic Programs Distributed Programs Fairness

Popular Content within this publication 



Read this Book on Springerlink

Services for this book

New Book Alert

Get alerted on new Springer publications in the subject area of Logics and Meanings of Programs.