Decision procedures for the temporal verification of concurrent lists

  • Authors:
  • Alejandro Sánchez;César Sánchez

  • Affiliations:
  • The IMDEA Software Institute, Madrid, Spain;The IMDEA Software Institute, Madrid, Spain and Spanish Council for Scientific Research, CSIC, Spain

  • Venue:
  • ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper studies the problem of formally verifying temporal properties of concurrent datatypes. Concurrent datatypes are implementations of classical data abstractions, specially designed to exploit the parallelism available in multiprocessor architectures. The correctness of concurrent datatypes is essential for the overall correctness of the client software. The main difficulty to reason about concurrent datatypes is due to the simultaneous use of unstructured concurrency and dynamic memory. The first contribution of this paper is the use of deductive temporal verification methods, in particular verification diagrams, enriched with reasoning about dynamic memory. Proofs using verification diagrams are decomposed into a finite collection of verification conditions. Our second contribution is a decision procedure mixing memory regions, pointers and lisp-like lists with locks, that allows the automatic verification of the generated verification conditions. We illustrate our techniques proving safety and liveness properties of lock-coupling concurrent lists.