This thesis presents the first formalization of the Owicki-Gries method and its compositional version, the rely-guarantee method, in a theorem prover. These methods are widely used for correctness proofs of parallel imperative programs with shared variables. We define syntax, semantics and proof rules in Isabelle/HOL, which is the instantiation of higher-order logic in the theorem prover Isabelle. The proof rules also provide for programs parameterized in the number of parallel components. Their correctness w.r.t. the semantics is proven mechanically and the completeness proofs for both methods are extended to the new case of parameterized programs. For the automatic generation of verification conditions we define a tactic based on the proo...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...
AbstractThis paper presents a method for mechanically proving the soundness of a programming logic f...
In the following theories a formalization of the Owicki-Gries and the rely-guarantee methods is pres...
This thesis presents an axiomatic method for proving certain correctness properties of parallel pro...
A simple but general parallel programming language is considered. The semantics of programs is defin...
AbstractIn this paper we present a set of axioms and rules of inference for a parallel programming l...
This thesis presents a set of verification techniques based on permission-based separation logic to ...
Two formal models for parallel computation are presented: an abstract conceptual model and a paralle...
Abstract. Loops and other unbound control structures constitute a major bottleneck in formal softwar...
Abstract As the multi-core processor is widely used and advanced high-trusted software is required, ...
In this paper, we present a new approach to automatically ver-ify multi-threaded programs which are ...
We give a Hoare-like proof system for the data-parallel language L, and we present an automatic tool...
Verifications of parallel programs are frequently based on automated state-space exploration techniq...
The semantics of a simple parallel programming language is presented in two ways: deductively, by a...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...
AbstractThis paper presents a method for mechanically proving the soundness of a programming logic f...
In the following theories a formalization of the Owicki-Gries and the rely-guarantee methods is pres...
This thesis presents an axiomatic method for proving certain correctness properties of parallel pro...
A simple but general parallel programming language is considered. The semantics of programs is defin...
AbstractIn this paper we present a set of axioms and rules of inference for a parallel programming l...
This thesis presents a set of verification techniques based on permission-based separation logic to ...
Two formal models for parallel computation are presented: an abstract conceptual model and a paralle...
Abstract. Loops and other unbound control structures constitute a major bottleneck in formal softwar...
Abstract As the multi-core processor is widely used and advanced high-trusted software is required, ...
In this paper, we present a new approach to automatically ver-ify multi-threaded programs which are ...
We give a Hoare-like proof system for the data-parallel language L, and we present an automatic tool...
Verifications of parallel programs are frequently based on automated state-space exploration techniq...
The semantics of a simple parallel programming language is presented in two ways: deductively, by a...
A commonly used approach to develop parallel programs is to augment a sequential program with compil...
Computer programs are an indispensable part of many of the systems we rely upon in our daily lives, ...
AbstractThis paper presents a method for mechanically proving the soundness of a programming logic f...