A Learning-Based Framework for Automatic Parameterized Verification

Parameterized verification is shown to be a complicated and undecidable problem. The challenge of parameterized verification lies in how to construct appropriate invariants. Designing algorithms to find such invariants automatically has become an active research area since the last decade. With the advent of some recent works, automatically finding invariants has become possible, but most of these invariants are unreadable, making them difficult to be understood by protocol designers and researchers. Therefore, we propose an automatic framework that learns a set of readable and simple invariants to support in protocol design. It takes advantage of association rule learning, and combines the learning algorithm with parameterized verification. It is noteworthy that the gap between machine learning algorithms and parameterized verification seems to be huge, as they rely on statistical learning and symbolic reasoning, respectively. Our framework, however, builds a bridge through association rules and invariants, making their combination possible. Besides, we also propose an invariant-guided strengthening paradigm, providing an innovative perspective to existing abstraction-strengthening methods. Our framework has been successfully applied to several benchmarks, including an industrial-scale protocol FLASH.

[1]  Yi Lv,et al.  Computing Invariants for Parameter Abstraction , 2007, 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007).

[2]  Sylvain Conchon,et al.  Cubicle- W : Parameterized Model Checking on Weak Memory , 2018, IJCAR.

[3]  Sylvain Conchon,et al.  Cubicle: A Parallel SMT-Based Model Checker for Parameterized Systems - Tool Paper , 2012, CAV.

[4]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[5]  Edmund M. Clarke,et al.  Reasoning about networks with many identical finite-state processes , 1986, PODC '86.

[6]  Krzysztof R. Apt,et al.  Limits for Automatic Verification of Finite-State Concurrent Systems , 1986, Inf. Process. Lett..

[7]  Sava Krstić Parametrized System Verification with Guard Strengthening and Parameter Abstraction , 2005 .

[8]  Ashish Tiwari,et al.  A Technique for Invariant Generation , 2001, TACAS.

[9]  Mark R. Tuttle,et al.  Going with the Flow: Parameterized Verification Using Message Flows , 2008, 2008 Formal Methods in Computer-Aided Design.

[10]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[11]  Vineet Kahlon,et al.  Exact and Efficient Verification of Parameterized Cache Coherence Protocols , 2003, CHARME.

[12]  David J. Goodman,et al.  Personal Communications , 1994, Mobile Communications.

[13]  Shuvendu K. Lahiri,et al.  Constructing Quantified Invariants via Predicate Abstraction , 2004, VMCAI.

[14]  Daniel Kroening,et al.  Dynamic Cutoff Detection in Parameterized Concurrent Programs , 2010, CAV.

[15]  A. Prasad Sistla,et al.  Reasoning about systems with many processes , 1992, JACM.

[16]  Kenneth L. McMillan,et al.  Parameterized Verification of the FLASH Cache Coherence Protocol by Compositional Model Checking , 2001, CHARME.

[17]  Yu Yang,et al.  Reducing Verification Complexity of a Multicore Coherence Protocol Using Assume/Guarantee , 2006, 2006 Formal Methods in Computer Aided Design.

[18]  Parosh Aziz Abdulla,et al.  Model Checking Parameterized Systems , 2018, Handbook of Model Checking.

[19]  Karsten Stahl,et al.  Parameterized Verification of a Cache Coherence Protocol: Safety and Liveness , 2002, VMCAI.

[20]  Tomasz Imielinski,et al.  Mining association rules between sets of items in large databases , 1993, SIGMOD Conference.

[21]  Martin Leucker,et al.  Inferring Network Invariants Automatically , 2006, IJCAR.

[22]  Amir Pnueli,et al.  Parameterized Verification with Automatically Computed Inductive Assertions , 2001, CAV.

[23]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

[24]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[25]  Kenneth L. McMillan,et al.  Quantified Invariant Generation Using an Interpolating Saturation Prover , 2008, TACAS.

[26]  Yongjian Li,et al.  A novel approach to parameterized verification of cache coherence protocols , 2016, 2016 IEEE 34th International Conference on Computer Design (ICCD).

[27]  Xiaofan Chen A General Compositional Approach to Verifying Hierarchical Cache Coherence Protocols , 2006 .

[28]  Sylvain Conchon,et al.  Invariants for finite instances and beyond , 2013, 2013 Formal Methods in Computer-Aided Design.

[29]  Zohar Manna,et al.  Automatic Generation of Invariants and Intermediate Assertions , 1997, Theor. Comput. Sci..

[30]  Lijun Zhang,et al.  An Automatic Proving Approach to Parameterized Verification , 2018, TOCL.

[31]  Amir Pnueli,et al.  Automatic Deductive Verification with Invisible Invariants , 2001, TACAS.

[32]  Anoop Gupta,et al.  The Stanford FLASH multiprocessor , 1994, ISCA '94.

[33]  Kedar S. Namjoshi,et al.  Local proofs for global safety properties , 2007, Formal Methods Syst. Des..

[34]  Seungjoon Park,et al.  A Simple Method for Parameterized Verification of Cache Coherence Protocols , 2004, FMCAD.

[35]  Parosh Aziz Abdulla,et al.  All for the Price of Few , 2013, VMCAI.

[36]  Edmund M. Clarke,et al.  Compositional model checking , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[37]  Helmut Veith,et al.  Environment Abstraction for Parameterized Verification , 2006, VMCAI.

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

[39]  Ramakrishnan Srikant,et al.  Fast Algorithms for Mining Association Rules in Large Databases , 1994, VLDB.