Verification of Sequential and Concurrent Programs

Verification of Sequential and Concurrent Programs

Author: Krzysztof Apt

Publisher: Springer Science & Business Media

Published: 2010-10-14

Total Pages: 512

ISBN-13: 184882744X

DOWNLOAD EBOOK

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.


Book Synopsis Verification of Sequential and Concurrent Programs by : Krzysztof Apt

Download or read book Verification of Sequential and Concurrent Programs written by Krzysztof Apt and published by Springer Science & Business Media. This book was released on 2010-10-14 with total page 512 pages. Available in PDF, EPUB and Kindle. Book excerpt: 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.


Verification of Sequential and Concurrent Programs

Verification of Sequential and Concurrent Programs

Author: Krzysztof R. Apt

Publisher: Springer Science & Business Media

Published: 1997

Total Pages: 396

ISBN-13: 9780387948966

DOWNLOAD EBOOK

Software -- Software Engineering.


Book Synopsis Verification of Sequential and Concurrent Programs by : Krzysztof R. Apt

Download or read book Verification of Sequential and Concurrent Programs written by Krzysztof R. Apt and published by Springer Science & Business Media. This book was released on 1997 with total page 396 pages. Available in PDF, EPUB and Kindle. Book excerpt: Software -- Software Engineering.


Verification of Sequential and Concurrent Programs

Verification of Sequential and Concurrent Programs

Author: Krzysztof R. Apt

Publisher: Springer Science & Business Media

Published: 2013-03-09

Total Pages: 452

ISBN-13: 1475743769

DOWNLOAD EBOOK

This book provides a structured introduction to the verification of sequen tial and concurrent programs. It thus belongs to the area of programming languages but at the same time it is firmly based on mathematical logic. In logic one usually studies fixed syntactic or semantic objects. This is not necessarily the case in the area of program verification. The objects studied here, namely programs, do not have a standard syntax, their semantics can be defined in many different ways, and several approaches to their verification can be contemplated. These differences lead to various difficult design decisions. Even though we restrict our attention here to one programming style - imperative pro gramming - we are still confronted with a veritable cornucopia of pro gramming constructs from which an appropriate selection has to be made. Having studied some of these constructs separately does not yet imply that we understand their combined effect.


Book Synopsis Verification of Sequential and Concurrent Programs by : Krzysztof R. Apt

Download or read book Verification of Sequential and Concurrent Programs written by Krzysztof R. Apt and published by Springer Science & Business Media. This book was released on 2013-03-09 with total page 452 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book provides a structured introduction to the verification of sequen tial and concurrent programs. It thus belongs to the area of programming languages but at the same time it is firmly based on mathematical logic. In logic one usually studies fixed syntactic or semantic objects. This is not necessarily the case in the area of program verification. The objects studied here, namely programs, do not have a standard syntax, their semantics can be defined in many different ways, and several approaches to their verification can be contemplated. These differences lead to various difficult design decisions. Even though we restrict our attention here to one programming style - imperative pro gramming - we are still confronted with a veritable cornucopia of pro gramming constructs from which an appropriate selection has to be made. Having studied some of these constructs separately does not yet imply that we understand their combined effect.


Concurrent Programs are Easier to Verify Than Sequential Programs

Concurrent Programs are Easier to Verify Than Sequential Programs

Author: E. Clarke

Publisher:

Published: 1978

Total Pages: 19

ISBN-13:

DOWNLOAD EBOOK


Book Synopsis Concurrent Programs are Easier to Verify Than Sequential Programs by : E. Clarke

Download or read book Concurrent Programs are Easier to Verify Than Sequential Programs written by E. Clarke and published by . This book was released on 1978 with total page 19 pages. Available in PDF, EPUB and Kindle. Book excerpt:


Computer Aided Verification

Computer Aided Verification

Author: Ahmed Bouajjani

Publisher: Springer Science & Business Media

Published: 2009-06-19

Total Pages: 737

ISBN-13: 3642026575

DOWNLOAD EBOOK

This book constitutes the refereed proceedings of the 21st International Conference on Computer Aided Verification, CAV 2009, held in Grenoble, France, in June/July 2009. The 36 revised full papers presented together with 16 tool papers and 4 invited talks and 4 invited tutorials were carefully reviewed and selected from 135 regular paper and 34 tool paper submissions. The papers are dedicated to the advancement of the theory and practice of computer-aided formal analysis methods for hardware and software systems; their scope ranges from theoretical results to concrete applications, with an emphasis on practical verification tools and the underlying algorithms and techniques.


Book Synopsis Computer Aided Verification by : Ahmed Bouajjani

Download or read book Computer Aided Verification written by Ahmed Bouajjani and published by Springer Science & Business Media. This book was released on 2009-06-19 with total page 737 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book constitutes the refereed proceedings of the 21st International Conference on Computer Aided Verification, CAV 2009, held in Grenoble, France, in June/July 2009. The 36 revised full papers presented together with 16 tool papers and 4 invited talks and 4 invited tutorials were carefully reviewed and selected from 135 regular paper and 34 tool paper submissions. The papers are dedicated to the advancement of the theory and practice of computer-aided formal analysis methods for hardware and software systems; their scope ranges from theoretical results to concrete applications, with an emphasis on practical verification tools and the underlying algorithms and techniques.


Concurrency Verification

Concurrency Verification

Author: W.-P. de Roever

Publisher: Cambridge University Press

Published: 2001-11-26

Total Pages: 26

ISBN-13: 9780521806084

DOWNLOAD EBOOK

An advanced 2001 textbook on verification of concurrent programs using a semantic approach which highlights concepts clearly.


Book Synopsis Concurrency Verification by : W.-P. de Roever

Download or read book Concurrency Verification written by W.-P. de Roever and published by Cambridge University Press. This book was released on 2001-11-26 with total page 26 pages. Available in PDF, EPUB and Kindle. Book excerpt: An advanced 2001 textbook on verification of concurrent programs using a semantic approach which highlights concepts clearly.


Concurrent Verification for Sequential Programs

Concurrent Verification for Sequential Programs

Author: John Peter Wickerson

Publisher:

Published: 2013

Total Pages:

ISBN-13:

DOWNLOAD EBOOK


Book Synopsis Concurrent Verification for Sequential Programs by : John Peter Wickerson

Download or read book Concurrent Verification for Sequential Programs written by John Peter Wickerson and published by . This book was released on 2013 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt:


Parameterized Verification of Synchronized Concurrent Programs

Parameterized Verification of Synchronized Concurrent Programs

Author: Zeinab Ganjei

Publisher: Linköping University Electronic Press

Published: 2021-03-19

Total Pages: 192

ISBN-13: 9179296971

DOWNLOAD EBOOK

There is currently an increasing demand for concurrent programs. Checking the correctness of concurrent programs is a complex task due to the interleavings of processes. Sometimes, violation of the correctness properties in such systems causes human or resource losses; therefore, it is crucial to check the correctness of such systems. Two main approaches to software analysis are testing and formal verification. Testing can help discover many bugs at a low cost. However, it cannot prove the correctness of a program. Formal verification, on the other hand, is the approach for proving program correctness. Model checking is a formal verification technique that is suitable for concurrent programs. It aims to automatically establish the correctness (expressed in terms of temporal properties) of a program through an exhaustive search of the behavior of the system. Model checking was initially introduced for the purpose of verifying finite‐state concurrent programs, and extending it to infinite‐state systems is an active research area. In this thesis, we focus on the formal verification of parameterized systems. That is, systems in which the number of executing processes is not bounded a priori. We provide fully-automatic and parameterized model checking techniques for establishing the correctness of safety properties for certain classes of concurrent programs. We provide an open‐source prototype for every technique and present our experimental results on several benchmarks. First, we address the problem of automatically checking safety properties for bounded as well as parameterized phaser programs. Phaser programs are concurrent programs that make use of the complex synchronization construct of Habanero Java phasers. For the bounded case, we establish the decidability of checking the violation of program assertions and the undecidability of checking deadlock‐freedom. For the parameterized case, we study different formulations of the verification problem and propose an exact procedure that is guaranteed to terminate for some reachability problems even in the presence of unbounded phases and arbitrarily many spawned processes. Second, we propose an approach for automatic verification of parameterized concurrent programs in which shared variables are manipulated by atomic transitions to count and synchronize the spawned processes. For this purpose, we introduce counting predicates that related counters that refer to the number of processes satisfying some given properties to the variables that are directly manipulated by the concurrent processes. We then combine existing works on the counter, predicate, and constrained monotonic abstraction and build a nested counterexample‐based refinement scheme to establish correctness. Third, we introduce Lazy Constrained Monotonic Abstraction for more efficient exploration of well‐structured abstractions of infinite‐state non‐monotonic systems. We propose several heuristics and assess the efficiency of the proposed technique by extensive experiments using our open‐source prototype. Lastly, we propose a sound but (in general) incomplete procedure for automatic verification of safety properties for a class of fault‐tolerant distributed protocols described in the Heard‐Of (HO for short) model. The HO model is a popular model for describing distributed protocols. We propose a verification procedure that is guaranteed to terminate even for unbounded number of the processes that execute the distributed protocol.


Book Synopsis Parameterized Verification of Synchronized Concurrent Programs by : Zeinab Ganjei

Download or read book Parameterized Verification of Synchronized Concurrent Programs written by Zeinab Ganjei and published by Linköping University Electronic Press. This book was released on 2021-03-19 with total page 192 pages. Available in PDF, EPUB and Kindle. Book excerpt: There is currently an increasing demand for concurrent programs. Checking the correctness of concurrent programs is a complex task due to the interleavings of processes. Sometimes, violation of the correctness properties in such systems causes human or resource losses; therefore, it is crucial to check the correctness of such systems. Two main approaches to software analysis are testing and formal verification. Testing can help discover many bugs at a low cost. However, it cannot prove the correctness of a program. Formal verification, on the other hand, is the approach for proving program correctness. Model checking is a formal verification technique that is suitable for concurrent programs. It aims to automatically establish the correctness (expressed in terms of temporal properties) of a program through an exhaustive search of the behavior of the system. Model checking was initially introduced for the purpose of verifying finite‐state concurrent programs, and extending it to infinite‐state systems is an active research area. In this thesis, we focus on the formal verification of parameterized systems. That is, systems in which the number of executing processes is not bounded a priori. We provide fully-automatic and parameterized model checking techniques for establishing the correctness of safety properties for certain classes of concurrent programs. We provide an open‐source prototype for every technique and present our experimental results on several benchmarks. First, we address the problem of automatically checking safety properties for bounded as well as parameterized phaser programs. Phaser programs are concurrent programs that make use of the complex synchronization construct of Habanero Java phasers. For the bounded case, we establish the decidability of checking the violation of program assertions and the undecidability of checking deadlock‐freedom. For the parameterized case, we study different formulations of the verification problem and propose an exact procedure that is guaranteed to terminate for some reachability problems even in the presence of unbounded phases and arbitrarily many spawned processes. Second, we propose an approach for automatic verification of parameterized concurrent programs in which shared variables are manipulated by atomic transitions to count and synchronize the spawned processes. For this purpose, we introduce counting predicates that related counters that refer to the number of processes satisfying some given properties to the variables that are directly manipulated by the concurrent processes. We then combine existing works on the counter, predicate, and constrained monotonic abstraction and build a nested counterexample‐based refinement scheme to establish correctness. Third, we introduce Lazy Constrained Monotonic Abstraction for more efficient exploration of well‐structured abstractions of infinite‐state non‐monotonic systems. We propose several heuristics and assess the efficiency of the proposed technique by extensive experiments using our open‐source prototype. Lastly, we propose a sound but (in general) incomplete procedure for automatic verification of safety properties for a class of fault‐tolerant distributed protocols described in the Heard‐Of (HO for short) model. The HO model is a popular model for describing distributed protocols. We propose a verification procedure that is guaranteed to terminate even for unbounded number of the processes that execute the distributed protocol.


Handbook of Model Checking

Handbook of Model Checking

Author: Edmund M. Clarke

Publisher: Springer

Published: 2018-05-18

Total Pages: 1212

ISBN-13: 3319105752

DOWNLOAD EBOOK

Model checking is a computer-assisted method for the analysis of dynamical systems that can be modeled by state-transition systems. Drawing from research traditions in mathematical logic, programming languages, hardware design, and theoretical computer science, model checking is now widely used for the verification of hardware and software in industry. The editors and authors of this handbook are among the world's leading researchers in this domain, and the 32 contributed chapters present a thorough view of the origin, theory, and application of model checking. In particular, the editors classify the advances in this domain and the chapters of the handbook in terms of two recurrent themes that have driven much of the research agenda: the algorithmic challenge, that is, designing model-checking algorithms that scale to real-life problems; and the modeling challenge, that is, extending the formalism beyond Kripke structures and temporal logic. The book will be valuable for researchers and graduate students engaged with the development of formal methods and verification tools.


Book Synopsis Handbook of Model Checking by : Edmund M. Clarke

Download or read book Handbook of Model Checking written by Edmund M. Clarke and published by Springer. This book was released on 2018-05-18 with total page 1212 pages. Available in PDF, EPUB and Kindle. Book excerpt: Model checking is a computer-assisted method for the analysis of dynamical systems that can be modeled by state-transition systems. Drawing from research traditions in mathematical logic, programming languages, hardware design, and theoretical computer science, model checking is now widely used for the verification of hardware and software in industry. The editors and authors of this handbook are among the world's leading researchers in this domain, and the 32 contributed chapters present a thorough view of the origin, theory, and application of model checking. In particular, the editors classify the advances in this domain and the chapters of the handbook in terms of two recurrent themes that have driven much of the research agenda: the algorithmic challenge, that is, designing model-checking algorithms that scale to real-life problems; and the modeling challenge, that is, extending the formalism beyond Kripke structures and temporal logic. The book will be valuable for researchers and graduate students engaged with the development of formal methods and verification tools.


A Survey of Verification Techniques for Parallel Programs

A Survey of Verification Techniques for Parallel Programs

Author: Howard Barringer

Publisher: Springer

Published: 1985

Total Pages: 130

ISBN-13:

DOWNLOAD EBOOK


Book Synopsis A Survey of Verification Techniques for Parallel Programs by : Howard Barringer

Download or read book A Survey of Verification Techniques for Parallel Programs written by Howard Barringer and published by Springer. This book was released on 1985 with total page 130 pages. Available in PDF, EPUB and Kindle. Book excerpt: