Dynamic Model Checking with Property Driven Pruning to Detect Race Conditions

  • Authors:
  • Chao Wang;Yu Yang;Aarti Gupta;Ganesh Gopalakrishnan

  • Affiliations:
  • NEC Laboratories America, Princeton, USA;School of Computing, University of Utah, Salt Lake City, USA;NEC Laboratories America, Princeton, USA;School of Computing, University of Utah, Salt Lake City, USA

  • Venue:
  • ATVA '08 Proceedings of the 6th International Symposium on Automated Technology for Verification and Analysis
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a new property driven pruning algorithm in dynamic model checking to efficiently detect race conditions in multithreaded programs. The main idea is to use a lockset based analysis of observed executions to help prune the search space to be explored by the dynamic search. We assume that a stateless search algorithm is used to systematically execute the program in a depth-first search order. If our conservative lockset analysis shows that a search subspace is race-free, it can be pruned away by avoiding backtracks to certain states in the depth-first search. The new dynamic race detection algorithm is both sound and complete (as precise as the dynamic partial order reduction algorithm by Flanagan and Godefroid). The algorithm is also more efficient in practice, allowing it to scale much better to real-world multithreaded C programs.