Validating Numerical Semidefinite Programming Solvers for Polynomial Invariants

  • Pierre RouxEmail author
  • Yuen-Lam Voronin
  • Sriram Sankaranarayanan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9837)


Semidefinite programming (SDP) solvers are increasingly used as primitives in many program verification tasks to synthesize and verify polynomial invariants for a variety of systems including programs, hybrid systems and stochastic models. On one hand, they provide a tractable alternative to reasoning about semi-algebraic constraints. However, the results are often unreliable due to “numerical issues” that include a large number of reasons such as floating-point errors, ill-conditioned problems, failure of strict feasibility, and more generally, the specifics of the algorithms used to solve SDPs. These issues influence whether the final numerical results are trustworthy or not. In this paper, we briefly survey the emerging use of SDP solvers in the static analysis community. We report on the perils of using SDP solvers for common invariant synthesis tasks, characterizing the common failures that can lead to unreliable answers. Next, we demonstrate existing tools for guaranteed semidefinite programming that often prove inadequate to our needs. Finally, we present a solution for verified semidefinite programming that can be used to check the reliability of the solution output by the solver and a padding procedure that can check the presence of a feasible nearby solution to the one output by the solver. We report on some successful preliminary experiments involving our padding procedure.


Numerical Solver Quantifier Elimination Polynomial Inequality Reformulation Linearization Technique Strict Feasibility 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



The authors would like to thank Didier Henrion, Pierre-Loïc Garoche and Assalé Adjé for interesting discussions on this subject.


  1. 1.
    Adjé, A., Garoche, P.-L., Magron, V.: Property-based polynomial invariant generation using sums-of-squares optimization. In: Blazy, S., Jensen, T. (eds.) SAS 2015. LNCS, vol. 9291, pp. 235–251. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  2. 2.
    Adjé, A., Gaubert, S., Goubault, E.: Coupling policy iteration with semi-definite relaxation to compute accurate numerical invariants in static analysis. In: Gordon, A.D. (ed.) ESOP 2010. LNCS, vol. 6012, pp. 23–42. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  3. 3.
    Ahmadi, A.A., Majumdar, A.: DSOS and SDSOS optimization: LP and SOCP-based alternatives to sum of squares optimization. In: Annual Conference on Information Sciences and Systems (CISS) (2014)Google Scholar
  4. 4.
    Allamigeon, X., Gaubert, S., Goubault, E., Putot, S., Stott, N.: A scalable algebraic method to infer quadratic invariants of switched systems. In: EMSOFT (2015)Google Scholar
  5. 5.
    Anjos, M.F., Lasserre, J.B.: Introduction to semidefinite, conic and polynomial optimization. In: Anjos, M.F., Lasserre, J.B. (eds.) Handbook on semidefinite, conic and polynomial optimization. International Series in Operations Research & Management Science, vol. 166, pp. 1–22. Springer, New York (2012)CrossRefGoogle Scholar
  6. 6.
    Bagnara, R., Rodríguez-Carbonell, E., Zaffanella, E.: Generation of basic semi-algebraic invariants using convex polyhedra. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 19–34. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Basu, S., Pollock, R., Roy, M.-F.: Algorithms in Real Algebraic Geometry, vol. 10. Springer, Heidelberg (2006)Google Scholar
  8. 8.
    Ben Sassi, M.A., Sankaranarayanan, S., Chen, X., Abraham, E.: Linear relaxations of polynomial positivity for polynomial Lyapunov function synthesis. IMA J. Math. Control Inf. (2015)Google Scholar
  9. 9.
    Bernstein, S.N.: Démonstration du théoréme de Weierstrass fondée sur le calcul des probabilités. Communcations de la Société Mathématique de Kharkov 2 (1912)Google Scholar
  10. 10.
    Borchers, B.: CSDP, a C library for semidefinite programming. Optim. Methods Softw. (1999)Google Scholar
  11. 11.
    Borwein, J.M., Wolkowicz, H.: Facial reduction for a cone-convex programming problem. J. Austral. Math. Soc. Ser. A (1980/1981)Google Scholar
  12. 12.
    Chakarov, A., Voronin, Y.-L., Sankaranarayanan, S.: Deductive proofs of almost sure persistence and recurrence properties. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 260–279. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49674-9_15 CrossRefGoogle Scholar
  13. 13.
    Collins, G.E.: Quantifier elimination for real closed fields by cylindrical algebraic decomposition. In: Automata Theory and Formal Languages (1975)Google Scholar
  14. 14.
    Collins, G.E., Hong, H.: Partial cylindrical algebraic decomposition for quantifier elimination. J. Symbolic Comput. (1991)Google Scholar
  15. 15.
    Cousot, P.: Proving program invariance and termination by parametric abstraction, lagrangian relaxation and semidefinite programming. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 1–24. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  16. 16.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: POPL (1977)Google Scholar
  17. 17.
    Dang, T., Gawlitza, T.M.: Template-based unbounded time verification of affine hybrid automata. In: Yang, H. (ed.) APLAS 2011. LNCS, vol. 7078, pp. 34–49. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Demmel, J.: On floating point errors in Cholesky. Department of Computer Science, University of Tennessee, Knoxville, TN, USA, Lapack working note (1989)Google Scholar
  19. 19.
    Dolzmann, A., Sturm, T.: REDLOG: computer algebra meets computer logic. ACM SIGSAM Bull. (1997)Google Scholar
  20. 20.
    Dür, M., Jargalsaikhan, B., Still, G.: The Slater condition is generic in linear conic programming (2012)Google Scholar
  21. 21.
    Farouki, R.T.: The Bernstein polynomial basis: a centennial retrospective. Comput. Aided Geom. Des. (2012)Google Scholar
  22. 22.
    Féron, É.: From control systems to control software. IEEE Control Syst. (2010)Google Scholar
  23. 23.
    Fränzle, M., Herde, C., Teige, T., Ratschan, S., Schubert, T.: Efficient solving of large non-linear arithmetic constraint systems with complex Boolean structure. J. Satisfiability, Boolean Model. Comput., Special Issue on SAT/CP Integration (2007)Google Scholar
  24. 24.
    Gao, S., Kong, S., Clarke, E.M.: dReal: An SMT solver for nonlinear theories over the reals. In: International Conference on Automated Deduction (CADE) (2013)Google Scholar
  25. 25.
    Gaubert, S., Goubault, É., Taly, A., Zennou, S.: Static analysis by policy iteration on relational domains. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 237–252. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  26. 26.
    Gawlitza, T., Seidl, H.: Precise fixpoint computation through strategy iteration. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 300–315. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  27. 27.
    Gawlitza, T.M., Monniaux, D.: Improving strategies via SMT solving. In: Barthe, G. (ed.) ESOP 2011. LNCS, vol. 6602, pp. 236–255. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  28. 28.
    Gawlitza, T.M., Seidl, H.: Computing relaxed abstract semantics w.r.t. quadratic zones precisely. In: Cousot, R., Martel, M. (eds.) SAS 2010. LNCS, vol. 6337, pp. 271–286. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  29. 29.
    Handelman, D.: Representing polynomials by positive linear functions on compact convex polyhedra. Pacific J. Math. (1988)Google Scholar
  30. 30.
    Harrison, J.: Verifying nonlinear real formulas via sums of squares. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 102–118. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  31. 31.
    Härter, V., Jansson, C., Lange, M.: VSDP: verified semidefinite programming. Accessed 28 Mar 2016
  32. 32.
    Henrion, D., Naldi, S., Din, M., Safey El Din, M.: Exact algorithms for linear matrix inequalities. arXiv preprint (2015). arXiv:1508.03715
  33. 33.
    IEEE Computer Society. IEEE Standard for Floating-Point Arithmetic. IEEE Standard 754–2008 (2008)Google Scholar
  34. 34.
    Jansson, C., Chaykin, D., Keil, C.: Rigorous error bounds for the optimal value in semidefinite programming. SIAM J. Numer. Anal. (2007)Google Scholar
  35. 35.
    Kaltofen, E., Li, B., Yang, Z., Zhi, L.: Exact certification in global polynomial optimization via sums-of-squares of rational functions with rational coefficients. J. Symb. Comput. (2012)Google Scholar
  36. 36.
    Lasserre, J.B.: Global optimization with polynomials and the problem of moments. SIAM J. Optim. (2001)Google Scholar
  37. 37.
    Löfberg, J.: Pre- and post-processing sum-of-squares programs in practice. IEEE Trans. Autom. Control (2009)Google Scholar
  38. 38.
    Maréchal, A., Fouilhé, A., King, T., Monniaux, D., Périn, M.: Polyhedral approximation of multivariate polynomials using Handelman’s theorem. In: Jobstmann, B., Leino, K.R.M. (eds.) VMCAI 2016. LNCS, vol. 9583, pp. 166–184. Springer, Heidelberg (2016). doi: 10.1007/978-3-662-49122-5_8 CrossRefGoogle Scholar
  39. 39.
    Monniaux, D., Corbineau, P.: On the generation of positivstellensatz witnesses in degenerate cases. In: van Eekelen, M., Geuvers, H., Schmaltz, J., Wiedijk, F. (eds.) ITP 2011. LNCS, vol. 6898, pp. 249–264. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  40. 40.
    MOSEK ApS. The MOSEK C optimizer API manual Version 7.1 (Revision 40) (2015)Google Scholar
  41. 41.
    Nakata, M.: A numerical evaluation of highly accurate multiple-precision arithmetic version of semidefinite programming solver: SDPA-GMP, -QD and -DD. In: Computer-Aided Control System Design (2010)Google Scholar
  42. 42.
    Oulamara, M., Venet, A.J.: Abstract interpretation with higher-dimensional ellipsoids and conic extrapolation. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 415–430. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  43. 43.
    Parrilo, P.A.: Semidefinite programming relaxations for semialgebraic problems. Math. Program. (2003)Google Scholar
  44. 44.
    Permenter, F., Parrilo, P.: Partial facial reduction: simplified, equivalent SDPs via approximations of the PSD cone. arXiv preprint (2014). arXiv:1408.4685
  45. 45.
    Peyrl, H., Parrilo, P.A.: Computing sum of squares decompositions with rational coefficients. Theor. Comput. Sci. (2008)Google Scholar
  46. 46.
    Platzer, A., Quesel, J.-D., Rümmer, P.: Real world verification. In: Schmidt, R.A. (ed.) CADE-22. LNCS, vol. 5663, pp. 485–501. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  47. 47.
    Prajna, S., Jadbabaie, A.: Safety verification using barrier certificates. In: HSCC (2004)Google Scholar
  48. 48.
    Putinar, M.: Positive polynomials on compact semi-algebraic sets. Indiana Univ. Math. J. (1993)Google Scholar
  49. 49.
    Roux, P.: Formal proofs of rounding error bounds. J. Autom. Reasoning (2015)Google Scholar
  50. 50.
    Rump, S.M.: Verification of positive definiteness. BIT Numer. Math. (2006)Google Scholar
  51. 51.
    Sankaranarayanan, S., Sipma, H., Manna, Z.: Constructing invariants for hybrid systems. Formal Meth. Syst. Des. (2008)Google Scholar
  52. 52.
    Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Scalable analysis of linear systems using mathematical programming. In: Cousot, R. (ed.) VMCAI 2005. LNCS, vol. 3385, pp. 25–41. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  53. 53.
    Schmieta, S.H., Pataki, G.: Reporting solution quality for the DIMACS library of mixed semidefinite-quadratic-linear programs. Accessed 23 Mar 2016
  54. 54.
    Sherali, H.D., Tuncbilek, Cihan H. C.H. : A global optimization algorithm for polynomial programming using a reformulation-linearization technique. J. Glob. Optim. (1991)Google Scholar
  55. 55.
    Shor, N.Z.: Class of global minimum bounds on polynomial functions. Cybernetics (1987). Originally in Russian: Kibernetika (1987)Google Scholar
  56. 56.
    Sturm, J.F.: Using SeDuMi 1.02, a MATLAB toolbox for optimization over symmetric cones. Optim. Methods Softw. (1999)Google Scholar
  57. 57.
    Tarski, A.: A decision method for elementary algebra and geometry. Univ. of California Press, Berkeley, Technical report (1951)Google Scholar
  58. 58.
    Tuncel, L.: Polyhedral and semidefinite programming methods in combinatorial optimization. Am. Math. Soc. (2010)Google Scholar
  59. 59.
    Tütüncü, R.H., Toh, K.C., Todd, M.J.: Solving semidefinite-quadratic-linear programs using SDPT3. Math. Program. (2003)Google Scholar
  60. 60.
    Waki, H., Nakata, M., Muramatsu, M.: Strange behaviors of interior-point methods for solving semidefinite programming problems in polynomial optimization. Comput. Optim. Appl. (2011)Google Scholar
  61. 61.
    Weispfenning, V.: Quantifier elimination for real algebra–the quadratic case and beyond. In: Applied Algebra and Error-Correcting Codes (AAECC) (1997)Google Scholar
  62. 62.
    Wolkowicz, H., Saigal, R., Vandenberghe, L.: Handbook of Semidefinite Programming. Kluwer Academic Publishers, Boston (2000)CrossRefzbMATHGoogle Scholar
  63. 63.
    Yamashita, M., Fujisawa, K., Nakata, K., Nakata, M., Fukuda, M., Kobayashi, K., Goto, K.: A high-performance software package for semidefinite programs: SDPA 7. Technical report B-460, Tokyo Institute of Technology (2010)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany 2016

Authors and Affiliations

  • Pierre Roux
    • 1
    Email author
  • Yuen-Lam Voronin
    • 2
  • Sriram Sankaranarayanan
    • 2
  1. 1.ONERA – The French Aerospace LabToulouseFrance
  2. 2.University of ColoradoBoulderUSA

Personalised recommendations