Verification of Sequential and Concurrent Programs
By: by Krzysztof R. Apt, Ernst-Rüdiger Olderog
Contributors: Olderog, Ernst-Rüdiger
Edition: Second Edition.
Series: Graduate Texts in Computer Science; Graduate texts in computer science
Publisher: Springer New York
Published: 1997
Place of publication: New York, NY
Language: eng
Format: [electronic resource] /
Number of pages: 364
ISBN-13: 9781475727166; 9781475727142
Subjects: Logic design; Computer science
Description: Computer programs are becoming more and more part of systems that we use to rely on in our daily lives. The proper functioning and safety of these systems is of paramount importance. A major challenger for computer science is to develop methods that ensure program correctness. This textbook provides a structured introduction to program verification using an assertional approach - so named because it relies on the use of assertions that are attached to program control points. Sequential programs in the form of deterministic and nondeterministic programs, and concurrent programs in the form of parallel and distributed programs are considered within the context of their partial and total correctness. The use of these proof systems is demonstrated with the help of case studies. In particular solutions to classical problems such as mutual exclusion are formally verified. Each chapter concludes with exercises and bibliographic remarks for further reading. As a result, this text will be appropriate for either an introductory course on program verification for upper division of undergraduate studies or for graduate studies. It can also be used as an introduction to operational semantics. Outlines of possible courses are presented in the preface of the book.
Notes: Online full text is restricted to subscribers.

Also available in print.

Mode of access: World Wide Web.
Table of contents: title: From the contents: Preface; title: Introduction; title: Preliminaries; title: Deterministic Programs; title: Disjoint parallel programs; title: Parallel programs with shared variables; title: Parallel programs with synchronization; title: Nondeterministic programs; title: Distributed programs; title: Fairness; title: Appendices; title: References.