Mechanical Verification of Transaction Processing Systems

Dmitri Chkliaev, Jozef Hooman and Peter van der Stok

Appeared in: Proceedings 3th International Conference on Formal Engineering Methods (ICFEM 2000), IEEE, pages 89-97, 2000.

ABSTRACT

This paper concerns the formal specification and mechanical verification of transaction processing systems aimed at distributed databases. In such systems, a standard set of ACID properties must be ensured by a combination of concurrency control and recovery protocols. In the existing literature, these protocols are often studied in isolation, making strong assumptions about each other. The problem of combining them in a formal way is largely ignored. To study the formal verification of combined protocols, we specify a transaction processing system, integrating strict two-phase locking, undo/redo recovery and two-phase commit. In our method, the locking and undo/redo mechanism at distributed sites is defined by state machines, whereas the interaction between sites according to the two-phase commit protocol is specified by assertions. We proved with the interactive proof checker of PVS that our system satisfies atomicity, durability and serializability properties.

Postscript       PVS dump file