Verification of Sequential and Concurrent ProgramsHIS 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. |
Contents
Deterministic Programs | 54 |
Parallel Programs | 242 |
Nondeterministic and Distributed Programs | 347 |
Appendix A Semantics | 457 |
Appendix B Axioms and Proof Rules | 459 |
Appendix C Proof Systems | 471 |
Appendix D Proof Outlines | 475 |
477 | |
491 | |
Other editions - View all
Verification of Sequential and Concurrent Programs Krzysztof Apt,Frank S. de Boer,Ernst-Rüdiger Olderog No preview available - 2012 |
Verification of Sequential and Concurrent Programs Krzysztof Apt,Frank S. de Boer,Ernst-Rüdiger Olderog No preview available - 2010 |
Common terms and phrases
allow apply approach array assertion assignment assume assumption atomic auxiliary await axiom begin block Boolean bound function called Chapter command component programs composition computation condition consider consists correctness formula deadlock defined definition denotes distributed programs element establish example execution Exercise expression extended failure fair false first freedom given holds implies induction initial instance variable integer variable interference introduce invariant Lemma loop means method nondeterministic programs normal Note null object obtain parallel programs parameters partial correctness premises presented problem procedure proof outline proof rules proof system proper prove recursive refer relation result rule scheduler semantics sense sequence sequential simple skip Soundness statement step substitution termination Theorem total correctness transformation transition true turn variables verification