Efficient Stateful Dynamic Partial Order Reduction

  • Authors:
  • Yu Yang;Xiaofang Chen;Ganesh Gopalakrishnan;Robert M. Kirby

  • Affiliations:
  • School of Computing, University of Utah, Salt Lake City, USA UT 84112;School of Computing, University of Utah, Salt Lake City, USA UT 84112;School of Computing, University of Utah, Salt Lake City, USA UT 84112;School of Computing, University of Utah, Salt Lake City, USA UT 84112

  • Venue:
  • SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

In applying stateless model checking methods to realistic multithreaded programs, we find that stateless search methods are ineffective in practice, even with dynamic partial order reduction (DPOR) enabled. To solve the inefficiency of stateless runtime model checking, this paper makes two related contributions. The first contribution is a novel and conservative light-weight method for storing abstract states at runtime to help avoid redundant searches. The second contribution is a stateful dynamic partial order reduction algorithm (SDPOR) that avoids a potential unsoundness when DPOR is naively applied in the context of stateful search. Our stateful runtime model checking approach combines light-weight state recording with SDPOR, and strikes a good balance between state recording overheads, on one hand, and the elimination of redundant searches, on the other hand. Our experiments confirm the effectiveness of our approach on several multithreaded benchmarks in C, including some practical programs.