Booster: An Acceleration-Based Verification Framework for Array Programs

We present Booster, a new framework developed for verifiying programs handling arrays. Booster integrates new acceleration features with standard verification techniques, like Lazy Abstraction with Interpolants (extended to arrays). The new acceleration features are the key for scaling-up in the verification of programs with arrays, allowing Booster to efficiently generate required quantified safe inductive invariants attesting the safety of the input code.

[1]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[2]  Elena Pagani,et al.  Universal Guards, Relativization of Quantifiers, and Failure Models in Model Checking Modulo Theories , 2012, J. Satisf. Boolean Model. Comput..

[3]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[4]  Nikolaj Bjørner,et al.  On Solving Universally Quantified Horn Clauses , 2013, SAS.

[5]  Kim G. Larsen,et al.  Memory Efficient Data Structures for Explicit Verification of Timed Systems , 2014, NASA Formal Methods.

[6]  Patrick Cousot,et al.  A parametric segmentation functor for fully automatic and scalable array content analysis , 2011, POPL '11.

[7]  Laura Kovács,et al.  Lingva: Generating and Proving Program Properties Using Symbol Elimination , 2014, Ershov Memorial Conference.

[8]  Dirk Beyer,et al.  Status Report on Software Verification - (Competition Summary SV-COMP 2014) , 2014, TACAS.

[9]  Silvio Ghilardi,et al.  Decision Procedures for Flat Array Properties , 2014, Journal of Automated Reasoning.

[10]  Silvio Ghilardi,et al.  MCMT: A Model Checker Modulo Theories , 2010, IJCAR.

[11]  Kenneth L. McMillan,et al.  Lazy Abstraction with Interpolants , 2006, CAV.

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

[13]  Roberto Bruttomesso,et al.  An extension of lazy abstraction with interpolation for programs with arrays , 2014, Formal Methods Syst. Des..

[14]  Larry Wos,et al.  What Is Automated Reasoning? , 1987, J. Autom. Reason..

[15]  Roberto Bruttomesso,et al.  Lazy Abstraction with Interpolants for Arrays , 2012, LPAR.

[16]  Sagar Chaki,et al.  Efficient Predicate Abstraction of Program Summaries , 2011, NASA Formal Methods.

[17]  Andrei Voronkov,et al.  Invariant Generation in Vampire , 2011, TACAS.

[18]  Roberto Bruttomesso,et al.  SAFARI: SMT-Based Abstraction for Arrays with Interpolants , 2012, CAV.

[19]  Alberto Pettorossi,et al.  VeriMAP: A Tool for Verifying Programs through Transformations , 2014, TACAS.

[20]  Christof Löding,et al.  ICE: A Robust Framework for Learning Invariants , 2014, CAV.

[21]  Silvio Ghilardi,et al.  Definability of Accelerated Relations in a Theory of Arrays and Its Applications , 2013, FroCos.

[22]  Grigory Fedyukovich,et al.  PeRIPLO: A Framework for Producing Effective Interpolants in SAT-Based Software Verification , 2013, LPAR.

[23]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.