Skip to main content

Proving Program Invariance and Termination by Parametric Abstraction, Lagrangian Relaxation and Semidefinite Programming

  • Conference paper
Verification, Model Checking, and Abstract Interpretation (VMCAI 2005)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3385))

Abstract

In order to verify semialgebraic programs, we automatize the Floyd/Naur/Hoare proof method. The main task is to automatically infer valid invariants and rank functions.

First we express the program semantics in polynomial form. Then the unknown rank function and invariants are abstracted in parametric form. The implication in the Floyd/Naur/Hoare verification conditions is handled by abstraction into numerical constraints by Lagrangian relaxation. The remaining universal quantification is handled by semidefinite programming relaxation. Finally the parameters are computed using semidefinite programming solvers.

This new approach exploits the recent progress in the numerical resolution of linear or bilinear matrix inequalities by semidefinite programming using efficient polynomial primal/dual interior point methods generalizing those well-known in linear programming to convex optimization.

The framework is applied to invariance and termination proof of sequential, nondeterministic, concurrent, and fair parallel imperative polynomial programs and can easily be extended to other safety and liveness properties.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Benson, S., Ye, Y.: DSDP4: A software package implementing the dual-scaling algorithm for semidefinite programming. Technical Report ANL/MCS-TM-255, Argonne National Laboratory (2002)

    Google Scholar 

  2. Boyd, S., Ghaoui, L.E., Féron, É., Balakrishnan, V.: Linear Matrix Inequalities in System and Control Theory. SIAM, Philadelphia (1994)

    MATH  Google Scholar 

  3. Brauburger, J., Giesl, J.: Approximating the domains of functional and imperative programs. Sci. Comput. Programming 35(1), 113–136 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  4. Burer, S., Monteiro, R.: A nonlinear programming algorithm for solving semidefinite programs via low-rank factorization. Mathematical Programming (series B) 95(2), 329–357 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  5. Collins, G., Hong, H.: Partial cylindrical algebraic decomposition for quantifier elimination. J. Symb. Comput. 12, 299–328 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  6. Colón, M., Sipma, H.: Synthesis of linear ranking functions. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, pp. 67–81. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  7. Cousot, P.: Méthodes itératives de construction et d’approximation de points fixes d’opérateurs monotones sur un treillis, analyse sémantique de programmes. Thèse d’Etat ès sciences mathématiques, Univ. scient. et méd. de Grenoble (1978)

    Google Scholar 

  8. Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: 4th POPL, pp. 238–252. ACM Press, New York (1977)

    Google Scholar 

  9. Cousot, P., Cousot, R.: Static determination of dynamic properties of recursive procedures. In: IFIP Conf. on Formal Description of Programming Concepts, St- Andrews, pp. 237–277. North-Holland, Amsterdam (1977)

    Google Scholar 

  10. Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: 6th POPL, pp. 269–282. ACM Press, New York (1979)

    Google Scholar 

  11. Cousot, P., Cousot, R.: ‘À la Floyd’ induction principles for proving inevitability properties of programs. In: Algebraic Methods in Semantics, ch. 8, pp. 277–312. Cambridge U. Press, Cambridge (1985)

    Google Scholar 

  12. Cousot, P., Cousot, R.: Abstract interpretation and application to logic programs12. J. Logic Programming 13(2-3), 103–179 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  13. Cousot, P., Cousot, R.: Abstract interpretation frameworks. J. Logic and Comp. 2(4), 511–547 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  14. Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: 5th POPL, pp. 84–97. ACM Press, New York (1978)

    Google Scholar 

  15. Féron, É.: Abstraction mechanisms across the board: A short introduction. Workshop on Robustness, Abstractions and Computations, Philadelphia, March 18 (2004)

    Google Scholar 

  16. Floyd, R.: Assigning meaning to programs. In: Proc. Symposium in Applied Mathematics. AMS, vol. 19, pp. 19–32 (1967)

    Google Scholar 

  17. Gahinet, P., Nemirovski, A., Laub, A., Chilali, M.: LMI Control Toolbox for use with Matlab ®, user’s guide (1995)

    Google Scholar 

  18. Gulwani, S., Necula, G.: Discovering affine equalities using random interpretation. In: 30th POPL, pp. 74–84. ACM Press, New York (2003)

    Google Scholar 

  19. Hoare, C.: An axiomatic basis for computer programming. Comm. ACM 12(10), 576–580 (1969)

    Article  MATH  Google Scholar 

  20. Jeannet, B.: New Polka, http://www.irisa.fr/prive/bjeannet/newpolka.html

  21. Karr, M.: Affine relationships among variables of a program. Acta Informat. 6, 133–151 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  22. Kočvara, M., Stingl, M.: Penbmi User’s Guide, Version 1.1 (2004)

    Google Scholar 

  23. Löfberg, J.: YALMIP, http://control.ee.ethz.ch/~joloef/yalmip.msql

  24. Manna, Z.: Mathematical theory of computation. McGraw Hill, New York (1974)

    MATH  Google Scholar 

  25. Naur, P.: Proofs of algorithms by general snapshots. BIT 6, 310–316 (1966)

    Article  Google Scholar 

  26. Nesterov, Y.: Squared functional systems and optimization problems. In: High Performance Optimization, pp. 405–440. Kluwer Acad. Pub., Dordrecht (2000)

    Google Scholar 

  27. Nesterov, Y., Nemirovskii, A.: Polynomial barrier methods in convex programming. Èkonom. i Mat. Metody 24(6), 1084–1091 (1988)

    MATH  MathSciNet  Google Scholar 

  28. Parrilo, P.: Semidefinite programming relaxations for semialgebraic problems. Mathematical Programming 96(2), 293–320 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  29. Podelski, A., Rybalchenko, A.: A complete method for the synthesis of linear ranking functions. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 239–251. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  30. Prajna, S., Papachristodoulou, A., Seiler, P., Parrilo, P.: SOStools: Sum of squares optimization toolbox for Matlab (2004)

    Google Scholar 

  31. Sturm, J.: Using SeDuMi 1.02, a Matlab toolbox for optimization over symmetric cones. Optimization Methods and Software 11–12, 625–653 (1999)

    Google Scholar 

  32. Toh, K., Todd, M., Tütüncü, R.: SDPT3–a Matlab software package for semidefinite programming. Optimization Methods and Software 11, 545–581 (1999)

    Article  MathSciNet  Google Scholar 

  33. Yakubovich, V.: Nonconvex optimization problem: The infinite-horizon linearquadratic control problem with quadratic constraints. Systems Cosntrol Lett. 19, 13–22 (1992)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cousot, P. (2005). Proving Program Invariance and Termination by Parametric Abstraction, Lagrangian Relaxation and Semidefinite Programming. In: Cousot, R. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2005. Lecture Notes in Computer Science, vol 3385. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30579-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30579-8_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-24297-0

  • Online ISBN: 978-3-540-30579-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics