Parallel Model Checking on Pushdown Systems

Pushdown systems (PDSs) have been widely used in program verification, such as recursive programs, malware detection, and other model-checking problems. As programs become more complicated, the model-checking process of PDSs represents a real challenge, which is the well-known state explosion problem. This problem may be cost expensive both in terms of memory and time. Parallel computing has been introduced to overcome this limitation, especially GPU computing. In this paper, we propose novel parallel algorithms to accelerate model checking on PDSs according to the characteristics of automata-theoretic. To represent the model-checking process on parallel architectures, we propose two new models: multi-threaded P-automaton and multi-threaded Buchi pushdown systems. Moreover, we design a highly efficient data structure for PDSs and dynamic task management to accommodate the GPU. Compared with Moped, a popular model checker for PDSs, our approach achieves promising performance.

[1]  Thomas W. Reps,et al.  Extended Weighted Pushdown Systems , 2005, CAV.

[2]  Javier Esparza,et al.  Efficient Algorithms for Model Checking Pushdown Systems , 2000, CAV.

[3]  Amer Diwan,et al.  The DaCapo benchmarks: java benchmarking development and analysis , 2006, OOPSLA '06.

[4]  Anton Wijs,et al.  BFS-Based Model Checking of Linear-Time Properties with an Application on GPUs , 2016, CAV.

[5]  Stefan Schwoon,et al.  Model checking pushdown systems , 2002 .

[6]  Yasuhiko Minamide,et al.  Pushdown Systems with Stack Manipulation , 2013, ATVA.

[7]  C.-H. Luke Ong,et al.  Analysing Mu-Calculus Properties of Pushdown Systems , 2010, SPIN.

[8]  Javier Esparza,et al.  jMoped: A Java Bytecode Checker Based on Moped , 2005, TACAS.

[9]  Jun Sun,et al.  GPU Accelerated Counterexample Generation in LTL Model Checking , 2014, ICFEM.

[10]  Javier Esparza,et al.  Reachability Analysis of Pushdown Automata: Application to Model-Checking , 1997, CONCUR.

[11]  Javier Esparza,et al.  Model checking LTL with regular valuations for pushdown systems , 2001, Inf. Comput..

[12]  Somesh Jha,et al.  Weighted pushdown systems and their application to interprocedural dataflow analysis , 2005, Sci. Comput. Program..

[13]  Shunsuke Mori,et al.  Reachability Analysis of the HTML5 Parser Specification and Its Application to Compatibility Testing , 2012, FM.

[14]  Parosh Aziz Abdulla,et al.  The Minimal Cost Reachability Problem in Priced Timed Pushdown Systems , 2012, LATA.

[15]  Jun Sun,et al.  GPU Accelerated On-the-Fly Reachability Checking , 2015, 2015 20th International Conference on Engineering of Complex Computer Systems (ICECCS).

[16]  Lubos Brim,et al.  CUDA Accelerated LTL Model Checking , 2009, 2009 15th International Conference on Parallel and Distributed Systems.

[17]  Lubos Brim,et al.  Designing fast LTL model checking algorithms for many-core GPUs , 2012, J. Parallel Distributed Comput..

[18]  Lubos Brim,et al.  DiVinE - A Tool for Distributed Verification , 2006, CAV.

[19]  Christel Baier,et al.  Principles of model checking , 2008 .

[20]  Dragan Bosnacki,et al.  GPUexplore 2.0: Unleashing GPU Explicit-State Model Checking , 2016, FM.

[21]  Allan Gottlieb,et al.  Highly parallel computing , 1989, Benjamin/Cummings Series in computer science and engineering.

[22]  Tayssir Touili,et al.  Reachability Analysis of Self Modifying Code , 2017, 2017 22nd International Conference on Engineering of Complex Computer Systems (ICECCS).

[23]  Paul Gastin,et al.  Fast LTL to Büchi Automata Translation , 2001, CAV.