Optimal dynamic partial order reduction

72Citations
Citations of this article
45Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Stateless model checking is a powerful technique for program verification, which however suffers from an exponential growth in the number of explored executions. A successful technique for reducing this number, while still maintaining complete coverage, is Dynamic Partial Order Reduction (DPOR). We present a new DPOR algorithm, which is the first to be provably optimal in that it always explores the minimal number of executions. It is based on a novel class of sets, called source sets, which replace the role of persistent sets in previous algorithms. First, we show how to modify an existing DPOR algorithm to work with source sets, resulting in an efficient and simple to implement algorithm. Second, we extend this algorithm with a novel mechanism, called wakeup trees, that allows to achieve optimality. We have implemented both algorithms in a stateless model checking tool for Erlang programs. Experiments show that source sets significantly increase the performance and that wakeup trees incur only a small overhead in both time and space.

Cite

CITATION STYLE

APA

Abdulla, P., Aronis, S., Jonsson, B., & Sagonas, K. (2014). Optimal dynamic partial order reduction. In ACM SIGPLAN Notices (Vol. 49, pp. 373–384). Association for Computing Machinery. https://doi.org/10.1145/2535838.2535845

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free