An I/O Efficient Model Checking Algorithm for Large-Scale Systems
Lijun Wu,Huijia Huang,Kaile Su,Shaowei Cai,Xiaosong Zhang
DOI: https://doi.org/10.1109/tvlsi.2014.2330061
2015-01-01
IEEE Transactions on Very Large Scale Integration (VLSI) Systems
Abstract:Model checking is a powerful approach for the formal verification of hardware and software systems. However, this approach suffers from the state space explosion problem, which limits its application to large-scale systems due to space shortage. To overcome this drawback, one of the most effective solutions is to use external memory algorithms. In this paper, we propose an I/O efficient model checking algorithm for large-scale systems. To lower I/O complexity and improve time efficiency, we combine three new techniques: 1) a linear hash-sorting technique; 2) a cached duplicate detection technique; and 3) a dynamic path management technique. We show that the new algorithm has a lower I/O complexity than state-of-the-art I/O efficient model checking algorithms, including detect accepting cycle, maximal accepting predecessors, and iterative-deepening depth-first search. In addition, the experiments show that our algorithm obviously outperforms these three algorithms on the selected representative benchmarks in terms of performance.