Model checking with fairness assumptions using PAT

Recent development on distributed systems has shown that a variety of fairness constraints (some of which are only recently defined) play vital roles in designing self-stabilizing population protocols. Existing model checkers are deficient in verifying the systems as only limited kinds of fairness are supported with limited verification efficiency. In this work, we support model checking of distributed systems in the toolkit PAT (process analysis toolkit), with a variety of fairness constraints (e.g., process-level weak/strong fairness, event-level weak/strong fairness, strong global fairness). It performs on-the-fly verification against linear temporal properties. We show through empirical evaluation (on recent population protocols as well as benchmark systems) that PAT has advantage in model checking with fairness. Previously unknown bugs have been revealed against systems which are designed to function only with strong global fairness.

[1]  Amir Pnueli,et al.  Impartiality, Justice and Fairness: The Ethics of Concurrent Termination , 1981, ICALP.

[2]  Jun Sun,et al.  Verification of Computation Orchestration Via Timed Automata , 2006, ICFEM.

[3]  Nils Klarlund,et al.  An n log n Algorithm for Online BDD Refinement , 1995, J. Algorithms.

[4]  Jun Sun,et al.  On Combining State Space Reductions with Global Fairness Assumptions , 2011, FM.

[5]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[6]  Chin-Laung Lei,et al.  Modalities for Model Checking: Branching Time Logic Strikes Back , 1987, Sci. Comput. Program..

[7]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[8]  Leslie Lamport,et al.  Fairness and hyperfairness , 2000, Distributed Computing.

[9]  Timo Latvala,et al.  Coping With Strong Fairness , 2000, Fundam. Informaticae.

[10]  Robert P. Kurshan,et al.  Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach , 2014 .

[11]  Jan Arne Telle,et al.  Faster Algorithms for the Nonemptiness of Streett Automata and for Communication Protocol Pruning , 1995, SWAT.

[12]  Pierre Wolper,et al.  Memory-efficient algorithms for the verification of temporal properties , 1990, Formal Methods Syst. Des..

[13]  Jun Sun,et al.  Model Checking CSP Revisited: Introducing a Process Analysis Toolkit , 2008, ISoLA.

[14]  Stephan Merz,et al.  Truly On-The-Fly LTL Model Checking , 2005, TACAS.

[15]  Jaco Geldenhuys,et al.  More efficient on-the-fly LTL verification with Tarjan's algorithm , 2005, Theor. Comput. Sci..

[16]  Amir Pnueli,et al.  All You Need Is Compassion , 2008, VMCAI.

[17]  Joël Ouaknine,et al.  State/Event-Based Software Model Checking , 2004, IFM.

[18]  K. Alagarsamy,et al.  Some myths about famous mutual exclusion algorithms , 2003, SIGA.

[19]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[20]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[21]  Maria Gradinariu Potop-Butucaru,et al.  Stabilizing token schemes for population protocols , 2008, ArXiv.

[22]  Joseph Sifakis,et al.  Fairness and related properties in transition systems — a temporal logic to deal with fairness , 1983, Acta Informatica.

[23]  Jun Sun,et al.  Verification of Population Ring Protocols in PAT , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

[24]  Dimitra Giannakopoulou,et al.  Checking progress with action priority: is it fair? , 1999, ESEC/FSE-7.

[25]  Jun Sun,et al.  Fair Model Checking with Process Counter Abstraction , 2009, FM.

[26]  Michael J. Fischer,et al.  Self-stabilizing Leader Election in Networks of Finite-State Anonymous Agents , 2006, OPODIS.

[27]  Jun Sun,et al.  Specifying and Verifying Event-Based Fairness Enhanced Systems , 2008, ICFEM.

[28]  Michael J. Fischer,et al.  Self-stabilizing population protocols , 2005, TAAS.

[29]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[30]  Jun Pang,et al.  On Automatic Verification of Self-Stabilizing Population Protocols , 2008, 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering.

[31]  Jun Sun,et al.  A Reasoning Method for Timed CSP Based on Constraint Solving , 2006, ICFEM.

[32]  Robert P. Kurshan,et al.  A new heuristic for bad cycle detection using BDDs , 1997, CAV 1997.

[33]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[34]  Marta Z. Kwiatkowska,et al.  Event fairness and non-interleaving concurrency , 1989, Formal Aspects of Computing.

[35]  Daniele Varacca,et al.  Defining Fairness , 2005, CONCUR.

[36]  Moshe Y. Vardi,et al.  LTL Satisfiability Checking , 2007, SPIN.

[37]  Jun Sun,et al.  Integrating Specification and Programs for System Modeling and Verification , 2009, 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering.

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

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

[40]  Philip Wadler,et al.  Views: a way for pattern matching to cohabit with data abstraction , 1987, POPL '87.

[41]  Jun Sun,et al.  PAT: Towards Flexible Verification under Fairness , 2009, CAV.

[42]  F. Grund,et al.  Wirth, N., Programming in Modula-2. Berlin etc., Springer-Verlag 1985. 3rd corr. ed., IV, 202 pp., 4 figs., DM 49,50. ISBN 3-540-15078-1 (Texts and Monographs in Computer Science) , 1988 .

[43]  Michael J. Fischer,et al.  Stabilizing Consensus in Mobile Networks , 2006, DCOSS.

[44]  Joseph Y. Halpern A Computing Research Repository , 1998, D Lib Mag..

[45]  Nissim Francez,et al.  Appraising fairness in languages for distributed programming , 2005, Distributed Computing.

[46]  Hong Jiang,et al.  Distributed systems of simple interacting agents , 2007 .

[47]  Ana Cavalcanti,et al.  FM 2009: Formal Methods, Second World Congress, Eindhoven, The Netherlands, November 2-6, 2009. Proceedings , 2009, FM.

[48]  Christel Baier,et al.  Principles of Model Checking (Representation and Mind Series) , 2008 .

[49]  Amir Pnueli,et al.  Model Checking with Strong Fairness , 2006, Formal Methods Syst. Des..

[50]  Nissim Francez,et al.  Fairness and hyperfairness in multi-party interactions , 2005, Distributed Computing.

[51]  Wolfram Schulte,et al.  FM 2011: Formal Methods - 17th International Symposium on Formal Methods, Limerick, Ireland, June 20-24, 2011. Proceedings , 2011, FM.

[52]  Javier Esparza,et al.  A Note on On-the-Fly Verification Algorithms , 2005, TACAS.