Safe Concurrency for Aggregate Objects with Invariants

  • Authors:
  • Bart Jacobs;Frank Piessens;K. Rustan M. Leino;Wolfram Schulte

  • Affiliations:
  • Katholieke Universiteit Leuven Celestijnenlaan, Belgium;Katholieke Universiteit Leuven Celestijnenlaan, Belgium;Microsoft Research, Redmond, WA., USA;Microsoft Research, Redmond, WA., USA

  • Venue:
  • SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Developing safe multithreaded software systems is diffi- cult due to the potential unwanted interference among concurrent threads. This paper presents a flexible methodology for object-oriented programs that protects object structures against inconsistency due to race conditions. It is based on a recent methodology for single-threaded programs where developers define aggregate object structures using an ownership system and declare invariants over them. The methodology is supported by a set of language elements and by both a sound modular static verification method and run-time checking support. The paper reports on preliminary experience with a prototype implementation.