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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Boyd, S., Ghaoui, L.E., Féron, É., Balakrishnan, V.: Linear Matrix Inequalities in System and Control Theory. SIAM, Philadelphia (1994)
Brauburger, J., Giesl, J.: Approximating the domains of functional and imperative programs. Sci. Comput. Programming 35(1), 113–136 (1999)
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)
Collins, G., Hong, H.: Partial cylindrical algebraic decomposition for quantifier elimination. J. Symb. Comput. 12, 299–328 (1991)
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)
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)
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)
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)
Cousot, P., Cousot, R.: Systematic design of program analysis frameworks. In: 6th POPL, pp. 269–282. ACM Press, New York (1979)
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)
Cousot, P., Cousot, R.: Abstract interpretation and application to logic programs12. J. Logic Programming 13(2-3), 103–179 (1992)
Cousot, P., Cousot, R.: Abstract interpretation frameworks. J. Logic and Comp. 2(4), 511–547 (1992)
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)
Féron, É.: Abstraction mechanisms across the board: A short introduction. Workshop on Robustness, Abstractions and Computations, Philadelphia, March 18 (2004)
Floyd, R.: Assigning meaning to programs. In: Proc. Symposium in Applied Mathematics. AMS, vol. 19, pp. 19–32 (1967)
Gahinet, P., Nemirovski, A., Laub, A., Chilali, M.: LMI Control Toolbox for use with Matlab ®, user’s guide (1995)
Gulwani, S., Necula, G.: Discovering affine equalities using random interpretation. In: 30th POPL, pp. 74–84. ACM Press, New York (2003)
Hoare, C.: An axiomatic basis for computer programming. Comm. ACM 12(10), 576–580 (1969)
Jeannet, B.: New Polka, http://www.irisa.fr/prive/bjeannet/newpolka.html
Karr, M.: Affine relationships among variables of a program. Acta Informat. 6, 133–151 (1976)
Kočvara, M., Stingl, M.: Penbmi User’s Guide, Version 1.1 (2004)
Löfberg, J.: YALMIP, http://control.ee.ethz.ch/~joloef/yalmip.msql
Manna, Z.: Mathematical theory of computation. McGraw Hill, New York (1974)
Naur, P.: Proofs of algorithms by general snapshots. BIT 6, 310–316 (1966)
Nesterov, Y.: Squared functional systems and optimization problems. In: High Performance Optimization, pp. 405–440. Kluwer Acad. Pub., Dordrecht (2000)
Nesterov, Y., Nemirovskii, A.: Polynomial barrier methods in convex programming. Èkonom. i Mat. Metody 24(6), 1084–1091 (1988)
Parrilo, P.: Semidefinite programming relaxations for semialgebraic problems. Mathematical Programming 96(2), 293–320 (2003)
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)
Prajna, S., Papachristodoulou, A., Seiler, P., Parrilo, P.: SOStools: Sum of squares optimization toolbox for Matlab (2004)
Sturm, J.: Using SeDuMi 1.02, a Matlab toolbox for optimization over symmetric cones. Optimization Methods and Software 11–12, 625–653 (1999)
Toh, K., Todd, M., Tütüncü, R.: SDPT3–a Matlab software package for semidefinite programming. Optimization Methods and Software 11, 545–581 (1999)
Yakubovich, V.: Nonconvex optimization problem: The infinite-horizon linearquadratic control problem with quadratic constraints. Systems Cosntrol Lett. 19, 13–22 (1992)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)