Scalable Parallel Model Checking via Monte-Carlo Tree Search

The future of model checking lies in parallel and distributed computing, but parallel graph search algorithms tailored to directed model checking remains an underdeveloped area of research. In this work, we examine the application of parallel Monte Carlo Tree Search algorithms. We demonstrate how exploratory, randomly sampled rollouts of the search space, coordinated through a minimally communicating work-sharing protocol, can enable us to push the boundaries on the scope and scale of problems amenable to serial search.

[1]  VisserWillem,et al.  Model checking Java programs using structural heuristics , 2002 .

[2]  David A. Bader,et al.  Scalable Graph Exploration on Multicore Processors , 2010, 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis.

[3]  Sarfraz Khurshid,et al.  Ranged Model Checking , 2012, SOEN.

[4]  Ivana Černá,et al.  Enhancing random walk state space exploration , 2005, FMICS '05.

[5]  Radu Grosu,et al.  Monte Carlo Model Checking , 2005, TACAS.

[6]  Alex Groce,et al.  Tackling Large Verification Problems with the Swarm Tool , 2008, SPIN.

[7]  Alex Groce,et al.  Model checking Java programs using structural heuristics , 2002, ISSTA '02.

[8]  Robert Feldt,et al.  Heuristic Model Checking using a Monte-Carlo Tree Search Algorithm , 2015, GECCO.

[9]  David L. Dill,et al.  Parallelizing the Murϕ Verifier , 2001, Formal Methods Syst. Des..

[10]  Tristan Cazenave,et al.  Nested Monte-Carlo Search , 2009, IJCAI.

[11]  H. Jaap van den Herik,et al.  Parallel Monte-Carlo Tree Search , 2008, Computers and Games.

[12]  Rémi Coulom,et al.  Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search , 2006, Computers and Games.

[13]  Peter Pirkelbauer,et al.  Ariadne: Hybridizing Directed Model Checking and Static Analysis , 2017, 2017 IEEE International Conference on Software Testing, Verification and Validation (ICST).

[14]  Dragan Bosnacki,et al.  The Design of a Multicore Extension of the SPIN Model Checker , 2007, IEEE Transactions on Software Engineering.

[15]  Laure Petrucci,et al.  Distributed model-checking and counterexample search for CTL logic , 2012, Int. J. Crit. Comput. Based Syst..

[16]  Corina S. Pasareanu,et al.  Parallel symbolic execution for structural test generation , 2010, ISSTA '10.

[17]  Matthew B. Dwyer,et al.  Parallel Randomized State-Space Search , 2007, 29th International Conference on Software Engineering (ICSE'07).

[18]  Gregg Rothermel,et al.  Supporting Controlled Experimentation with Testing Techniques: An Infrastructure and its Potential Impact , 2005, Empirical Software Engineering.

[19]  Jean Méhat,et al.  Combining UCT and Nested Monte Carlo Search for Single-Player General Game Playing , 2010, IEEE Transactions on Computational Intelligence and AI in Games.

[20]  Enrique Alba,et al.  Ant colony optimization with partial order reduction for discovering safety property violations in concurrent models , 2008, Inf. Process. Lett..

[21]  Mark Zuckerberg,et al.  Why Software Is Eating the World , 2011 .

[22]  Simon M. Lucas,et al.  A Survey of Monte Carlo Tree Search Methods , 2012, IEEE Transactions on Computational Intelligence and AI in Games.

[23]  Reed Morgan Milewicz Improving the scalability of directed model checking of concurrent java code through hybrid and distributed analysis , 2016 .

[24]  John A. Clark,et al.  Searching for Safety Violations Using Estimation of Distribution Algorithms , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[25]  Sarfraz Khurshid,et al.  Scaling symbolic execution using staged analysis , 2013, Innovations in Systems and Software Engineering.