A Non-linear Arithmetic Procedure for Control-Command Software Verification

State-of-the-art (semi-)decision procedures for non-linear real arithmetic address polynomial inequalities by mean of symbolic methods, such as quantifier elimination, or numerical approaches such as interval arithmetic. Although (some of) these methods offer nice completeness properties, their high complexity remains a limit, despite the impressive efficiency of modern implementations. This appears to be an obstacle to the use of SMT solvers when verifying, for instance, functional properties of control-command programs.

[1]  Jean-Christophe Filliâtre,et al.  Why3 - Where Programs Meet Provers , 2013, ESOP.

[2]  Cesare Tinelli,et al.  Leveraging linear and mixed integer programming for SMT , 2014, 2014 Formal Methods in Computer-Aided Design (FMCAD).

[3]  Nikolai Kosmatov,et al.  Frama-C: A software analysis perspective , 2015, Formal Aspects of Computing.

[4]  Alberto L. Sangiovanni-Vincentelli,et al.  CalCS: SMT solving for non-linear convex constraints , 2010, Formal Methods in Computer Aided Design.

[5]  Victor Magron,et al.  Formal Proofs for Nonlinear Optimization , 2014, J. Formaliz. Reason..

[6]  Eric Feron,et al.  A generic ellipsoid abstract domain for linear time invariant systems , 2012, HSCC '12.

[7]  David S. Watkins,et al.  Fundamentals of matrix computations , 1991 .

[8]  Pablo A. Parrilo,et al.  Semidefinite programming relaxations for semialgebraic problems , 2003, Math. Program..

[9]  Pierre Roux Formal Proofs of Rounding Error Bounds With application to an automatic positive definiteness check , 2017 .

[10]  Jean B. Lasserre,et al.  Global Optimization with Polynomials and the Problem of Moments , 2000, SIAM J. Optim..

[11]  Frédéric Besson,et al.  Fast Reflexive Arithmetic Tactics the Linear Case and Beyond , 2006, TYPES.

[12]  Edmund M. Clarke,et al.  dReal: An SMT Solver for Nonlinear Theories over the Reals , 2013, CADE.

[13]  Benjamin Grégoire,et al.  EasyCrypt: A Tutorial , 2013, FOSAD.

[14]  Stephen P. Boyd,et al.  Semidefinite Programming , 1996, SIAM Rev..

[15]  David Monniaux,et al.  Experiments on the feasibility of using a floating-point simplex in an SMT solver , 2013, PAAR@IJCAR.

[16]  Pierre Roux,et al.  A reflexive tactic for polynomial positivity using numerical solvers and floating-point computations , 2017, CPP.

[17]  Stephen P. Boyd,et al.  Convex Optimization , 2004, Algorithms and Theory of Computation Handbook.

[18]  Paulo Tabuada,et al.  SMC: Satisfiability Modulo Convex Optimization , 2017, HSCC.

[19]  César A. Muñoz,et al.  Formalization of Bernstein Polynomials and Applications to Global Optimization , 2013, Journal of Automated Reasoning.

[20]  Yannick Moy,et al.  SPARK 2014 and GNATprove , 2014, International Journal on Software Tools for Technology Transfer.

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

[22]  David Monniaux,et al.  On using floating-point computations to help an exact linear arithmetic decision procedure , 2009, CAV.

[23]  François Bobot,et al.  A Simplex-Based Extension of Fourier-Motzkin for Solving Linear Integer Arithmetic , 2012, IJCAR.

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

[25]  B. Borchers CSDP, A C library for semidefinite programming , 1999 .

[26]  John Harrison,et al.  Verifying Nonlinear Real Formulas Via Sums of Squares , 2007, TPHOLs.

[27]  Pierre Roux Formal Proofs of Rounding Error Bounds , 2015, Journal of Automated Reasoning.

[28]  Pierre Corbineau,et al.  On the Generation of Positivstellensatz Witnesses in Degenerate Cases , 2011, ITP.

[29]  Bin Li,et al.  Exact certification in global polynomial optimization via sums-of-squares of rational functions with rational coefficients , 2012, J. Symb. Comput..

[30]  Sriram Sankaranarayanan,et al.  Validating numerical semidefinite programming solvers for polynomial invariants , 2018, Formal Methods Syst. Des..

[31]  Albert Oliveras,et al.  SAT Modulo the Theory of Linear Arithmetic: Exact, Inexact and Commercial Solvers , 2008, SAT.

[32]  Edmund M. Clarke,et al.  δ-Complete Decision Procedures for Satisfiability over the Reals , 2012, IJCAR.

[33]  Sylvain Conchon,et al.  Canonized Rewriting and Ground AC Completion Modulo Shostak Theories : Design and Implementation , 2011, Log. Methods Comput. Sci..

[34]  Leonardo Mendonça de Moura,et al.  Solving non-linear arithmetic , 2012, ACCA.

[35]  Makoto Yamashita,et al.  A high-performance software package for semidefinite programs: SDPA 7 , 2010 .

[36]  David Monniaux,et al.  Polyhedral Approximation of Multivariate Polynomials Using Handelman's Theorem , 2016, VMCAI.

[37]  J. Lasserre Moments, Positive Polynomials And Their Applications , 2009 .

[38]  Sriram Sankaranarayanan,et al.  A Bit Too Precise? Bounded Verification of Quantized Digital Filters , 2012, TACAS.

[39]  Siegfried M. Rump,et al.  Verification methods: rigorous results using floating-point arithmetic , 2010, Acta Numerica.

[40]  B. Borchers A C library for semidefinite programming , 1999 .

[41]  Christian Jansson,et al.  Rigorous Error Bounds for the Optimal Value in Semidefinite Programming , 2007, SIAM J. Numer. Anal..

[42]  André Platzer,et al.  Real World Verification , 2009, CADE.

[43]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[44]  Siegfried M. Rump,et al.  Verification of Positive Definiteness , 2006 .

[45]  Johan Löfberg,et al.  Pre- and Post-Processing Sum-of-Squares Programs in Practice , 2009, IEEE Transactions on Automatic Control.