Formalization of Conflict Analysis of Programs With Procedures, Thread Creation, and Monitors

Peter Lammich 🌐 and Markus Müller-Olm 🌐

December 14, 2007

This is a development version of this entry. It might change over time and is not stable. Please refer to release versions for citations.

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.
BSD License

Topics

Theories of Program-Conflict-Analysis