Reentrant Readers-Writers: A Case Study Combining Model Checking with Theorem Proving

  • Authors:
  • Bernard Gastel;Leonard Lensink;Sjaak Smetsers;Marko Eekelen

  • Affiliations:
  • Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands 6525 AJ;Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands 6525 AJ;Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands 6525 AJ;Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands 6525 AJ

  • Venue:
  • Formal Methods for Industrial Critical Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The classic readers-writers problem has been extensively studied. This holds to a lesser degree for the reentrant version, where it is allowed to nest locking actions. Such nesting is useful when a library is created with various procedures that each start and end with a lock. Allowing nesting makes it possible for these procedures to call each other. We considered an existing widely used industrial implementation of the reentrant readers-writers problem. We modeled it using a model checker revealing a serious error: a possible deadlock situation. The model was improved and checked satisfactorily for a fixed number of processes. To achieve a correctness result for an arbitrary number of processes the model was converted to a theorem prover with which it was proven.