Erweiterte Suche


Zielgruppennavigation: 

 

Hauptnavigation: 

Sprache:

Arbeitsgruppe Softwareentwicklung und Verifikation

Prof. Dr. Markus Müller-Olm
Institut für Informatik
Einsteinstrasse 62
48149 Münster
Germany

Tel.: +49 (251) 83-33792
Fax: +49 (251) 83-33755

Isabelle/HOL Related Projects

Other projects (obsolete, no sources published here):

Formalization of pre* for DPNs

Peter Lammich
2007

(Preliminary version, not yet published)

Abstract
We present a formalization of Dynamic Pushdown Networks (DPNs) and the automata based algorithm for computing backward reachability sets using Isabelle/HOL. Dynamic pushdown networks are an abstract model for multithreaded, interprocedural programs with dynamic thread creation that was presented by Bouajjani, Müller-Olm and Touili in 2005. We formalize the notion of a DPN in Isabelle and describe the algorithm for computing the $pre^*$-set from a regular set of configurations, and prove its correctness. We first give a nondeterministic description of the algorithm, from that we then infer a deterministic one, from which we can generate executable code using Isabelle's code-generation tool.

Proof Document
Proof Outline
Isabelle Sources (Not stripped, contains some unrelated/obsolete stuff)

TODO-List until final version:

  • Make efficient implementation, using collection's framework. The current implementatioon is executable, but really slow.
  • Perhaps extend to witness computation: The saturation algorithm can compute a tree-regular representation of all executions that lead from a start to an end configuration.
  • Perhaps extend to weighted DPN (WDPN), a DPN model where transitions are assigned weights, and one computes the join of the weights of all executions.

Program Conflict Analysis

Peter Lammich and Markus Müller-Olm
Dec. 2007

In AFP, the entry can be found here
See also the related paper Conflict Analysis of Programs with Procedures, Dynamic Thread Creation, and Monitors.

Abstract
In this work we formally verify the soundness and precision of a static program analysis that detects conflicts (e.g.\ data races) in programs with procedures, thread creation and monitors with the Isabelle theorem prover. As common in static program analysis, our program model abstracts guarded branching by nondeterministic branching, but completely interprets the call-/return behavior of procedures, synchronization by monitors, and thread creation. The analysis is based on the observation that all conflicts already occur in a class of particularly restricted schedules. These restricted schedules are suited to constraint-system-based program analysis. The formalization is based upon a flowgraph-based program model with an operational semantics as reference point.

Proof Outline (from AFP)
Proof Document (from AFP)
Isabelle Sources (from AFP)


Isabelle Formalization of Hedge-Constrained pre* and DPNs with Locks

Peter Lammich
Jan. 2009

Published as technical report.
See also the related paper Predecessor Sets of Dynamic Pushdown Networks with Tree-Regular Constraints.

Abstract
Dynamic Pushdown Networks (DPNs) are a model for concurrent programs with recursive procedures and thread creation. We formalize a true-concurrency semantics for DPNs. Executions of this semantics have a tree structure. We show the relation of our semantics to the original interleavings semantics. We then show how to compute predecessor sets of regular sets of con gurations w.r.t. tree-regular constraints on the execution. Acquisition histories have been introduced by Kahlon et al. to model-check parallel pushdown systems with well-nested locks , but without thread creation. We generalize acquisistion histories to be used with DPNs. For this purpose, our tree-based semantics can be naturally applied. Moreover, the generalized acquisition histories enable us to characterize the (tree-based) executions that have a schedule that is valid w.r.t. locks, thus obtaining an algorithm to compute locksensitive predecessor sets.

Proof Outline
Proof Document
Isabelle Sources


Isabelle Collections Framework

Peter Lammich
Nov. 2009

In AFP, the entry can be found here

Abstract
This development provides an efficient, extensible, machine checked collections framework. The library adopts the concepts of interface, implementation and generic algorithm from object-oriented programming and implements them in Isabelle/HOL. The framework features the use of data refinement techniques to refine an abstract specification (using high-level concepts like sets) to a more concrete implementation (using collection datastructures, like red-black-trees). The code-generator of Isabelle/HOL can be used to generate efficient code.

Proof Outline (from AFP)
Proof Document (from AFP)
Isabelle Sources (from AFP)
Userguide


Tree Automata

Peter Lammich
Nov. 2009

In AFP, the entry can be found here

Abstract
This work presents a machine-checked tree automata library for Standard-ML, OCaml and Haskell. The algorithms are efficient by using appropriate data structures like RB-trees. The available algorithms for non-deterministic automata include membership query, reduction, intersection, union, and emptiness check with computation of a witness for non-emptiness. The executable algorithms are derived from less-concrete, non-executable algorithms using data-refinement techniques. The concrete data structures are from the Isabelle Collections Framework. Moreover, this work contains a formalization of the class of tree-regular languages and its closure properties under set operations.

Proof Outline (from AFP)
Proof Document (from AFP)
Isabelle Sources (from AFP)

Old version

Proof Document
Isabelle Sources

Kill/Gen Analysis for Programs with Procedures and Thread Creation

Peter Lammich
May 2006

Formalization of kill/gen forward analysis for programs with Procedures and Thread Creation
The formalization was done related to my diploma thesis, and later extended, but never put into a consistent shape suitable for publication.

Our paper Precise Fixpoint-Based Analysis of Programs with Thread-Creation and Procedures describes (a generalization of) the analysis.

Impressum | © 2007 FB10 WWU Münster
Universität Münster
Schlossplatz 2 - 48149 Münster
Tel.: +49 (251) 83-0 - Fax: +49 (251) 83-3 20 90
E-Mail: