Verification of Component-Based Systems via Predicate Abstraction and Simultaneous Set Reduction

This paper presents a novel safety property verification approach for component-based systems modelled in BIP (Behaviour, Interaction and Priority), encompassing multiparty synchronisation with data transfer and priority. Our contributions consist of: (1) an on-the-fly lazy predicate abstraction technique for BIP; (2) a novel explicit state reduction technique, called simultaneous set reduction, that can be combined with lazy predicate abstraction to prune the search space of abstract reachability analysis; (3) a prototype tool implementing all the proposed techniques. We also conduct thorough experimental evaluation, which demonstrates the effectiveness of our proposed approach.

[1]  Thomas A. Henzinger,et al.  Lazy abstraction , 2002, POPL '02.

[2]  Joël Ouaknine,et al.  Verifying multi-threaded software with impact , 2013, 2013 Formal Methods in Computer-Aided Design.

[3]  Frédéric Boussinot,et al.  FairThreads: mixing cooperative and preemptive threads in C , 2006, Concurr. Comput. Pract. Exp..

[4]  Rachid Guerraoui,et al.  Speculative linearizability , 2012, PLDI.

[5]  Wang Yi,et al.  Horn Clauses for Communicating Timed Systems , 2014, HCVS.

[6]  Corina S. Pasareanu,et al.  Automated Assume-Guarantee Reasoning by Abstraction Refinement , 2008, CAV.

[7]  Marco Roveri,et al.  Verification of parametric system designs , 2012, 2012 Formal Methods in Computer-Aided Design (FMCAD).

[8]  Richard J. Lipton,et al.  Reduction: a method of proving properties of parallel programs , 1975, CACM.

[9]  Viktor Kuncak,et al.  A Verification Toolkit for Numerical Transition Systems - Tool Paper , 2012, FM.

[10]  Hai Wan,et al.  Modeling and Verification of Component-Based Systems with Data Passing Using BIP , 2013, 2013 18th International Conference on Engineering of Complex Computer Systems.

[11]  Stephan Merz,et al.  Model Checking , 2000 .

[12]  Patrice Godefroid,et al.  Partial-Order Methods for the Verification of Concurrent Systems , 1996, Lecture Notes in Computer Science.

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

[14]  Joseph Sifakis,et al.  Rigorous Component-Based System Design Using the BIP Framework , 2011, IEEE Software.

[15]  Thomas A. Henzinger,et al.  Abstractions from proofs , 2004, POPL.

[16]  Andreas Wilhelm,et al.  Reduction for compositional verification of multi-threaded programs , 2014, 2014 Formal Methods in Computer-Aided Design (FMCAD).

[17]  Qiang Wang,et al.  Formal Verification of Infinite-State BIP Models , 2015, ATVA.

[18]  Joseph Sifakis,et al.  D-Finder: A Tool for Compositional Deadlock Detection and Verification , 2009, CAV.

[19]  Bow-Yaw Wang,et al.  VCS: A Verifier for Component-Based Systems , 2013, ATVA.

[20]  Andrea Asperti,et al.  A Bi-Directional Refinement Algorithm for the Calculus of (Co)Inductive Constructions , 2012, Log. Methods Comput. Sci..

[21]  Joseph Sifakis Rigorous system design , 2014, PODC '14.

[22]  Ashutosh Gupta,et al.  Predicate abstraction and refinement for verifying multi-threaded programs , 2011, POPL '11.

[23]  Marco Roveri,et al.  Software Model Checking with Explicit Scheduler and Symbolic Threads , 2012, Log. Methods Comput. Sci..