Beyond contracts for concurrency

  • Authors:
  • Jonathan S. Ostroff;Faraz Ahmadi Torshizi;Hai Feng Huang;Bernd Schoeller

  • Affiliations:
  • York University, Department of Computer Science and Engineering, 4700 Keele Street, Toronto, Canada;York University, Department of Computer Science and Engineering, 4700 Keele Street, Toronto, Canada;York University, Department of Computer Science and Engineering, 4700 Keele Street, Toronto, Canada;Software Engineering, ETH Zurich, Clausiusstrasse 59, 8092, Zurich, Switzerland

  • Venue:
  • Formal Aspects of Computing - Special Issue: Concurrency and Real-Time for Eiffel-like Languages
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

SCOOP is a concurrent programming language with a new semantics for contracts that applies equally well in concurrent and sequential contexts. SCOOP eliminates race conditions and atomicity violations by construction. However, it is still vulnerable to deadlocks. In this paper we describe how far contracts can take us in verifying interesting properties of concurrent systems using modular Hoare rules and show how theorem proving methods developed for sequential Eiffel can be extended to the concurrent case. However, some safety and liveness properties depend upon the environment and cannot be proved using the Hoare rules. To deal with such system properties, we outline a SCOOP Virtual Machine (SVM) as a fair transition system. The SVM makes it feasible to use model-checking and theorem proving methods for checking global temporal logic properties of SCOOP programs. The SVM uses the Hoare rules where applicable to reduce the number of steps in a computation.