Specifying and Verifying Concurrent Programs

Specifying and Verifying Concurrent Programs
Author: L. Lamport
Publisher:
Total Pages: 94
Release: 1985
Genre:
ISBN:

The goal of this project was the development of formal methods for the specification and verification of concurrent programs to help avoid software errors in concurrent systems. This involved research in three areas: Specification; Verification; and Semantics. Contents: What It Means for a Concurrent Program to Satisfy a Specification; An Axiomatic Semantics of Concurrent Programming Languages; Constraints - A Uniform Approach to Aliasing and Typing.

Parameterized Verification of Synchronized Concurrent Programs

Parameterized Verification of Synchronized Concurrent Programs
Author: Zeinab Ganjei
Publisher: Linköping University Electronic Press
Total Pages: 192
Release: 2021-03-19
Genre:
ISBN: 9179296971

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.

Verification of Sequential and Concurrent Programs

Verification of Sequential and Concurrent Programs
Author: Krzysztof R. Apt
Publisher: Springer Science & Business Media
Total Pages: 452
Release: 2013-03-09
Genre: Computers
ISBN: 1475743769

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.

Temporal Logic in Specification

Temporal Logic in Specification
Author: Behnam Banieqbal
Publisher: Springer Science & Business Media
Total Pages: 458
Release: 1989-10-11
Genre: Computers
ISBN: 9783540518037

Self-concept and coping behaviour are important aspects of development in adolescence. Despite their developmental significance, however, the two areas have rarely been considered in relation to each other. This book is the first in which the two areas are brought together; it suggests that this interaction can open the way to new possibilities for further research and to new implications for applied work with adolescents. Two separate chapters review research carried out in each of the areas. These are followed by a series of more empirically focussed chapters in which issues such as changes in relationship patterns, difficult school situations, leaving school, use of leisure, anxiety and suicidal behaviour are examined in the context of self-concept and coping. The final chapter seeks to identify some of the central themes emerging from this work and discusses possible research and applied implications.

Combinatorial Optimization and Applications

Combinatorial Optimization and Applications
Author: Weifan Wang
Publisher: Springer Science & Business Media
Total Pages: 573
Release: 2011-07-20
Genre: Computers
ISBN: 3642226159

This book constitutes the refereed proceedings of the 5th International Conference on Combinatorial Optimization and Applications, COCOA 2011, held in Zhangjiajie, China, in August 2011. The 43 revised full papers were carefully reviewed and selected from 65 submissions. The papers cover a broad range of topics in combinatorial optimization and applications focussing on experimental and applied research of general algorithmic interest and research motivated by real-world problems.

Theorem Proving in Higher Order Logics

Theorem Proving in Higher Order Logics
Author: Elsa L. Gunter
Publisher: Springer Science & Business Media
Total Pages: 358
Release: 1997-08-06
Genre: Computers
ISBN: 9783540633792

This book constitutes the refereed proceedings of the 10th International Conference on Theorem Proving in Higher Order Logics, TPHOLs '97, held in Murray Hill, NJ, USA, in August 1997. The volume presents 19 carefully revised full papers selected from 32 submissions during a thorough reviewing process. The papers cover work related to all aspects of theorem proving in higher order logics, particularly based on secure mechanization of those logics; the theorem proving systems addressed include Coq, HOL, Isabelle, LEGO, and PVS.

Partial Order Methods in Verification

Partial Order Methods in Verification
Author: Vaughan R. Pratt
Publisher: American Mathematical Soc.
Total Pages: 421
Release: 1997
Genre: Computers
ISBN: 0821805797

This book presents surveys on the theory and practice of modelling, specifying, and validating concurrent systems. It contains surveys of techniques used in tools developed for automatic validation of systems. Other papers present recent developments in concurrency theory, logics of programmes, model-checking, automata, and formal languages theory. The volume contains the proceedings from the workshop, Partial Order Methods in Verification, which was held in Princeton, NJ, in July 1996. The workshop focused on both the practical and the theoretical aspects of using partial order models, including automata and formal languages, category theory, concurrency theory, logic, process algebra, programme semantics, specification and verification, topology, and trace theory. The book also includes a lively e-mail debate that took place about the importance of the partial order dichotomy in modelling concurrency.

Verification and Synthesis of Concurrent Programs Using Petri Nets and Temporal Logic

Verification and Synthesis of Concurrent Programs Using Petri Nets and Temporal Logic
Author: Naoshi Uchihira
Publisher:
Total Pages: 8
Release: 1990
Genre: Logic, Symbolic and mathematical
ISBN:

Abstract: "Both Petri net and temporal logic have been widely used to specify concurrent systems. Petri net is appropriate to explicitly specify the behavioral structures of systems, while temporal logic is appropriate to specify the properties and constraints of systems. Since one can complement the other, using a combination of Petri net and temporal logic is a highly promising approach to analyze, verify and synthesize concurrent programs