Tools and Algorithms for the Construction and Analysis of Systems

Volume 2031 of the series Lecture Notes in Computer Science pp 158-173


Parameterized Verification of Multithreaded Software Libraries

  • Thomas BallAffiliated withMicrosoft Research
  • , Sagar ChakiAffiliated withCarnegie Melon University
  • , Sriram K. RajamaniAffiliated withMicrosoft Research


The growing popularity of multi-threading has led to a great number of software libraries that support access by multiple threads. We present Local/Global Finite State Machines (LGFSMs) as a model for a certain class of multithreaded libraries. We have developed a tool called Beacon that does parameterized model checking of LGFSMs. We demonstrate the expressiveness of LGFSMs as models, and the effectiveness of Beacon as a model checking tool by (1) modeling a multithreaded memory manager Rockall developed at Microsoft Research as an LGFSM, and (2) using Beacon to check a critical safety property of Rockall.