Swarm Verification Techniques

The range of verification problems that can be solved with logic model checking tools has increased significantly in the last few decades. This increase in capability is based on algorithmic advances and new theoretical insights, but it has also benefitted from the steady increase in processing speeds and main memory sizes on standard computers. The steady increase in processing speeds, though, ended when chip-makers started redirecting their efforts to the development of multicore systems. For the near-term future, we can anticipate the appearance of systems with large numbers of CPU cores, but without matching increases in clock-speeds. We will describe a model checking strategy that can allow us to leverage this trend and that allows us to tackle significantly larger problem sizes than before.

[1]  Ilkka Niemelä,et al.  Strategies for Solving SAT in Grids by Randomized Search , 2008, AISC/MKM/Calculemus.

[2]  John Penix,et al.  Verifying Time Partitioning in the DEOS Scheduling Kernel , 2005, Formal Methods Syst. Des..

[3]  Gerard J. Holzmann,et al.  Model checking with bounded context switching , 2010, Formal Aspects of Computing.

[4]  Kevin Barraclough,et al.  I and i , 2001, BMJ : British Medical Journal.

[5]  Gerard J. Holzmann,et al.  Automating software feature verification , 2000, Bell Labs Technical Journal.

[6]  Jakob Rehof,et al.  Context-Bounded Model Checking of Concurrent Software , 2005, TACAS.

[7]  Tim Menzies,et al.  Lurch: a Lightweight Alternative to Model Checking , 2003, SEKE.

[8]  Gerard J. Holzmann,et al.  On Limits and Possibilities of Automated Protocol Analysis , 1987, PSTV.

[9]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[10]  C. H. West,et al.  Protocol Validation in Complex Systems , 1989, SIGCOMM.

[11]  Gerard J. Holzmann,et al.  Logic Verification of ANSI-C Code with SPIN , 2000, SPIN.

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

[13]  Kazunori Ueda,et al.  c-sat: A Parallel SAT Solver for Clusters , 2009, SAT.

[14]  Carlos Urias Munoz,et al.  Automatic Generation of Random Self-Checking Test Cases , 1983, IBM Syst. J..

[15]  Madan Musuvathi,et al.  Fair stateless model checking , 2008, PLDI '08.

[16]  Shin Nakajima,et al.  The SPIN Model Checker : Primer and Reference Manual , 2004 .

[17]  Gerard J. Holzmann,et al.  Model-Driven Software Verification , 2004, SPIN.

[18]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[19]  G. J. Holzmann,et al.  Tracing protocols , 1985, AT&T Technical Journal.

[20]  Edmund M. Clarke,et al.  Model Checking , 1999, Handbook of Automated Reasoning.

[21]  Sriram K. Rajamani,et al.  Automatically validating temporal safety properties of interfaces , 2001, SPIN '01.

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

[23]  Youssef Hamadi,et al.  A Concurrent Portfolio Approach to SMT Solving , 2009, CAV.

[24]  Ganesh Gopalakrishnan,et al.  Random Walk Based Heuristic Algorithms for Distributed Memory Model Checking , 2003, PDMC@CAV.