Combining the Sweep-Line Method with the Use of an External-Memory Priority Queue [chapter]

Sami Evangelista, Lars Michael Kristensen
2012 Lecture Notes in Computer Science  
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
more » ... 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 more than 25% at the cost of an increase execution time by a factor 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. Keywords. Algorithms and storage methods for explicit-state model checking, Engineering and implementation of software verification tools, External-memory algorithms, Sweep-line method.
doi:10.1007/978-3-642-31759-0_6 fatcat:q7h725iqwjgn5lejmp6hz755ke