Verification of Sequential and Concurrent Programs

Verification of Sequential and Concurrent Programs PDF Author: Krzysztof Apt
Publisher: Springer Science & Business Media
ISBN: 184882744X
Category : Computers
Languages : en
Pages : 512

Get Book Here

Book Description
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 PDF Author: Krzysztof Apt
Publisher: Springer Science & Business Media
ISBN: 184882744X
Category : Computers
Languages : en
Pages : 512

Get Book Here

Book Description
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 PDF Author: Krzysztof R. Apt
Publisher: Springer Science & Business Media
ISBN: 9780387948966
Category : Computers
Languages : en
Pages : 396

Get Book Here

Book Description
Software -- Software Engineering.

Verification of Sequential and Concurrent Programs

Verification of Sequential and Concurrent Programs PDF Author: Krzysztof R. Apt
Publisher: Springer Science & Business Media
ISBN: 1475743769
Category : Computers
Languages : en
Pages : 452

Get Book Here

Book Description
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 PDF Author: E. Clarke
Publisher:
ISBN:
Category :
Languages : en
Pages : 19

Get Book Here

Book Description


Concurrent Verification for Sequential Programs

Concurrent Verification for Sequential Programs PDF Author: John Peter Wickerson
Publisher:
ISBN:
Category :
Languages : en
Pages :

Get Book Here

Book Description


Parameterized Verification of Synchronized Concurrent Programs

Parameterized Verification of Synchronized Concurrent Programs PDF Author: Zeinab Ganjei
Publisher: Linköping University Electronic Press
ISBN: 9179296971
Category :
Languages : en
Pages : 192

Get Book Here

Book Description
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.

Concurrency Verification

Concurrency Verification PDF Author: W.-P. de Roever
Publisher: Cambridge University Press
ISBN: 9780521806084
Category : Computers
Languages : en
Pages : 26

Get Book Here

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

A Survey of Verification Techniques for Parallel Programs

A Survey of Verification Techniques for Parallel Programs PDF Author: Howard Barringer
Publisher: Springer
ISBN:
Category : Computers
Languages : en
Pages : 130

Get Book Here

Book Description


Program Verification

Program Verification PDF Author: Nissim Francez
Publisher: Addison Wesley Publishing Company
ISBN:
Category : Computers
Languages : en
Pages : 332

Get Book Here

Book Description
This textbook on program verification emphasises the role of verification in software development.

Logics and Models of Concurrent Systems

Logics and Models of Concurrent Systems PDF Author: Krzysztof R. Apt
Publisher: Springer Science & Business Media
ISBN: 3642824536
Category : Computers
Languages : en
Pages : 494

Get Book Here

Book Description
The cooperation test [Apt, Francez & de Roever] was originally conceived to capture the proof theoretical analogue of distributed message exchange between disjoint processes, as opposed to the interference freedom test [Owicki & Gries], being the proof theoretical analogue of concurrent communication by means of interference through jointly shared variables. Some authors ([Levin & Gries, Lamport & Schneider, Schlichting and Schneider]) stress that both forms of communication can be proof theoretically characterized using interference freedom only, since proofs for both ultimately amount to an invariance proof of a big global assertion [Ashcroft], invariance of whose parts amounts to interference freedom. Yet I feel that the characteristic nature of the cooperation test is still preserved in the analysis of these authors, because in their analysis of CSP the part dealing with interference freedom specializes to maintenance of a global invariant, the expression of which requires per process the introduction of auxiliary variables which are updated in that process only, thus preserving the concept of disjointness (as opposed to sharing), since now all variables from different processes are disjoint. The cooperation test has been applied to characterize concurrent communication as occurring in Hoare's Communicating Sequential Processes (CSP) [Hoare 2], Ichbiah's ADA [ARM], and Brinch Hansen's Distributed Processes (DP) [Brinch Hansen]. This characterization has been certified through soundness and completeness proofs [Apt 2, Gerth]. As in the interference freedom test this characterization consists of two stages, a local sequential stage and a global stage.