Combining the sweep-line method with the use of an external-memory priority queue

  • Authors:
  • Sami Evangelista;Lars Michael Kristensen

  • Affiliations:
  • LIPN -- Laboratoire d'Informatique de l'Université Paris Nord, Villetaneuse, France;Department of Computer Engineering, Bergen University College, Norway

  • Venue:
  • SPIN'12 Proceedings of the 19th international conference on Model Checking Software
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The sweep-line method is an explicit-state model checking technique that uses a notion of progress to delete states from internal memory during state space exploration and thereby reduce peak memory usage. The sweep-line algorithm relies on the use of a priority queue where the progress value assigned to a state determines the priority of the state. In earlier implementations of the sweep-line method the progress priority queue is kept in internal memory together with the current layer of states being explored. In this paper we investigate a scheme where the current layer is stored in internal memory while the priority queue is stored in external memory. From the perspective of the sweep-line method, we show that this combination can yield a significant reduction in peak memory usage compared to a pure internal memory implementation. On an average of 60 example instances, this combination reduced peak memory usage by a factor of 25 at the cost of an increase in execution time by a factor of 2.5. From the perspective of external memory state space exploration, we demonstrate experimentally that the state deletion performed by the sweep-line method may reduce the I/O overhead induced by duplicate detection compared to a pure external memory state space exploration method.