HIS BOOK CONTAINS a most comprehensive text that presents syntax-directed and compositional methods for the formal veri?- T cation of programs. The approach is not language-bounded in the sense that it covers a large variety of programming models and features that appear in most modern programming languages. It covers the classes of - quential and parallel, deterministic and non-deterministic, distributed and object-oriented programs. For each of the classes it presents the various c- teria of correctness that are relevant for these classes, such as interference freedom, deadlock freedom, and appropriate notions of liveness for parallel programs. Also, special proof rules appropriate for each class of programs are presented. In spite of this diversity due to the rich program classes cons- ered, there exist a uniform underlying theory of veri?cation which is synt- oriented and promotes compositional approaches to veri?cation, leading to scalability of the methods. The text strikes the proper balance between mathematical rigor and - dactic introduction of increasingly complex rules in an incremental manner, adequately supported by state-of-the-art examples. As a result it can serve as a textbook for a variety of courses on di?erent levels and varying durations. It can also serve as a reference book for researchers in the theory of veri?- tion, in particular since it contains much material that never before appeared in book form. This is specially true for the treatment of object-oriented p- grams which is entirely novel and is strikingly elegant.
Les mer
HIS BOOK CONTAINS a most comprehensive text that presents syntax-directed and compositional methods for the formal veri?- T cation of programs.
In the Beginning.- Preliminaries.- Deterministic Programs.- While Programs.- Recursive Programs.- Recursive Programs with Parameters.- Object-Oriented Programs.- Parallel Programs.- Disjoint Parallel Programs.- Parallel Programs with Shared Variables.- Parallel Programs with Synchronization.- Nondeterministic and Distributed Programs.- Nondeterministic Programs.- Distributed Programs.- Fairness.
Les mer
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 structureExplains 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 readingDiscusses recursive programs that extend deterministic programs by parameterless procedures and procedures with thecall-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 onesPresents object-oriented programs, with a focus on the main characteristics of objects (NEW)Investigates parallel programs with shared variables and with synchronizationStudies the issue of fairness in the framework of nondeterministic programs, using an approach based on the method of explicit schedulersIncludes 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.
Les mer
"The Third Edition is an excellent new version of a valuable book. Enhanced with new material on recursion and object-oriented programs, this book now covers methods for verifying sequential, object-oriented, and concurrent programs using well-chosen sample programming languages that highlight fundamental issues and avoid incidental complications. With growing challenges today to produce correct software systems for the future, this book lets students wisely use a few months now to master concepts that will last them a lifetime." (John C. Mitchell, Stanford University)
"Verification of programs is the Holy Grail of Computer Science. This book makes its pursuit seem both pleasant and worthwhile. Its unique strength lies in the way the authors have deconstructed the apparently complex subject such that each piece carries exactly one idea. The beauty of the presentation extends from the overall structure of the book to the individual explanations, definitions and proofs." (Andreas Podelski, University of Freiburg)
"Program verification became an interesting research topic of computing science about forty years ago. Research literature on this topic has grown quickly in accordance with rapid development of various programming paradigms. Therefore it has been a challenge to university lecturers on program verification how to carefully select an easy but comprehensive approach, which can fit in with most programming paradigms and can be taught in a systematic way. The publication of this book is an answer to the challenge, and to my knowledge quite many university lecturers have been influenced by the earlier editions of this book if not chosen them as textbook. Given that the third edition includes verification of object-oriented programs – the most fashionable programming paradigm, and presents it in a way coherent with the approach adopted by the earlier ones, we can expect a further impact of the new edition on university teachings." (ZhouChaochen, Chinese Academy of Sciences, Beijing)
Les mer
"The Third Edition is an excellent new version of a valuable book. Enhanced with new material on recursion and object-oriented programs, this book now covers methods for verifying sequential, object-oriented, and concurrent programs using well-chosen sample programming languages that highlight fundamental issues and avoid incidental complications. With growing challenges today to produce correct software systems for the future, this book lets students wisely use a few months now to master concepts that will last them a lifetime." (John C. Mitchell, Stanford University) "Verification of programs is the Holy Grail of Computer Science. This book makes its pursuit seem both pleasant and worthwhile. Its unique strength lies in the way the authors have deconstructed the apparently complex subject such that each piece carries exactly one idea. The beauty of the presentation extends from the overall structure of the book to the individual explanations, definitions and proofs." (Andreas Podelski, University of Freiburg) "Program verification became an interesting research topic of computing science about forty years ago. Research literature on this topic has grown quickly in accordance with rapid development of various programming paradigms. Therefore it has been a challenge to university lecturers on program verification how to carefully select an easy but comprehensive approach, which can fit in with most programming paradigms and can be taught in a systematic way. The publication of this book is an answer to the challenge, and to my knowledge quite many university lecturers have been influenced by the earlier editions of this book if not chosen them as textbook. Given that the third edition includes verification of object-oriented programs - the most fashionable programming paradigm, and presents it in a way coherent with the approach adopted by the earlier ones, we can expect a further impact of the new edition on university teachings." (Zhou Chaochen, Chinese Academy of Sciences, Beijing)
Les mer
Deals with the verification of programs allowing dynamic process creation Includes four new chapters on increasingly important aspects of programming Contains many learning tools to aid the reader such as case studies, exercises, comprehensive references/further reading and helpful appendices
Les mer
GPSR Compliance
The European Union's (EU) General Product Safety Regulation (GPSR) is a set of rules that requires consumer products to be safe and our obligations to ensure this.
If you have any concerns about our products you can contact us on ProductSafety@springernature.com.
In case Publisher is established outside the EU, the EU authorized representative is:
Springer Nature Customer Service Center GmbH
Europaplatz 3
69115 Heidelberg, Germany
ProductSafety@springernature.com
Les mer
Produktdetaljer
ISBN
9781447125136
Publisert
2012-03-14
Utgave
3. utgave
Utgiver
Vendor
Springer London Ltd
Høyde
235 mm
Bredde
155 mm
Aldersnivå
Graduate, P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet
Foreword by