Computing Quadratic Invariants with Min- and Max-Policy Iterations: A Practical Comparison

  • Pierre Roux
  • Pierre-Loïc Garoche
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8442)


Policy iterations have been known in static analysis since a small decade. Despite the impressive results they provide - achieving a precise fixpoint without the need of widening/narrowing mechanisms of abstract interpretation - their use is not yet widespread. Furthermore, there are basically two dual approaches: min-policies and max-policies, but they have not yet been practically compared.

Multiple issues could explain their relative low adoption in the research communities: implementation of the theory is not obvious; initialization is rarely addressed; integration with other abstraction or fixpoint engine not mentionned; etc. This paper tries to present a Policy Iteration Primer, summarizing the approaches from the practical side, focusing on their implementation and use.

We implemented both of them for a specific setting: the computation of quadratic templates, which appear useful to analyze controllers such as found in civil aircrafts or UAVs.


abstract interpretation policy iteration linear systems with guards quadratic invariants ellipsoids semidefinite programming 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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
  2. 2.
    Alegre, F., Féron, É., Pande, S.: Using ellipsoidal domains to analyze control systems software (2009),
  3. 3.
    Boyd, S., El Ghaoui, L., Féron, É., Balakrishnan, V.: Linear Matrix Inequalities in System and Control Theory, vol. 15. SIAM, Philadelphia (1994)CrossRefzbMATHGoogle Scholar
  4. 4.
    Costan, A., Gaubert, S., Goubault, É., Martel, M., Putot, S.: A policy iteration algorithm for computing fixed points in static analysis of programs. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 462–475. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  5. 5.
    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
  6. 6.
    Feret, J.: Static analysis of digital filters. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol. 2986, pp. 33–48. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Feret, J.: Numerical abstract domains for digital filters. In: International workshop on Numerical and Symbolic Abstract Domains, NSAD (2005)Google Scholar
  8. 8.
    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
  9. 9.
    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
  10. 10.
    Gawlitza, T., Seidl, H.: Precise relational invariants through strategy iteration. In: Duparc, J., Henzinger, T.A. (eds.) CSL 2007. LNCS, vol. 4646, pp. 23–40. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    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
  12. 12.
    Gawlitza, T.M., Seidl, H., Adjé, A., Gaubert, S., Goubault, E.: Abstract interpretation meets convex optimization. J. Symb. Comput. 47(12) (2012)Google Scholar
  13. 13.
    Jansson, C., Chaykin, D., Keil, C.: Rigorous error bounds for the optimal value in semidefinite programming. SIAM J. Numerical Analysis 46(1) (2007)Google Scholar
  14. 14.
    Jeannet, B.: Some experience on the software engineering of abstract interpretation tools. Electr. Notes Theor. Comput. Sci. (2) (2010)Google Scholar
  15. 15.
    Jeannet, B., Miné, A.: Apron: A library of numerical abstract domains for static analysis. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 661–667. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  16. 16.
    Lyapunov, A.M.: Problème général de la stabilité du mouvement. Annals of Mathematics Studies 17 (1947)Google Scholar
  17. 17.
    Miné, A.: The octagon abstract domain. In: AST 2001 in WCRE 2001. IEEE (October 2001)Google Scholar
  18. 18.
    Monniaux, D.: Compositional analysis of floating-point linear numerical filters. In: Etessami, K., Rajamani, S.K. (eds.) CAV 2005. LNCS, vol. 3576, pp. 199–212. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Roozbehani, M., Feron, E., Megrestki, A.: Modeling, optimization and computation for software verification. In: Morari, M., Thiele, L. (eds.) HSCC 2005. LNCS, vol. 3414, pp. 606–622. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  20. 20.
    Roux, P., Garoche, P.-L.: Integrating policy iterations in abstract interpreters. In: Van Hung, D., Ogawa, M. (eds.) ATVA 2013. LNCS, vol. 8172, pp. 240–254. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  21. 21.
    Roux, P., Garoche, P.-L.: A polynomial template abstract domain based on bernstein polynomials. In: NSV (2013)Google Scholar
  22. 22.
    Roux, P., Jobredeaux, R., Garoche, P.-L., Féron, É.: A generic ellipsoid abstract domain for linear time invariant systems. In: HSCC. ACM (2012)Google Scholar
  23. 23.
    Rump, S.M.: Verification of positive definiteness. BIT Numerical Mathematics 46 (2006)Google Scholar
  24. 24.
    Seladji, Y., Bouissou, O.: Numerical abstract domain using support functions. In: Brat, G., Rungta, N., Venet, A. (eds.) NFM 2013. LNCS, vol. 7871, pp. 155–169. Springer, Heidelberg (2013)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Pierre Roux
    • 1
    • 2
  • Pierre-Loïc Garoche
    • 1
  1. 1.ONERA – The French Aerospace LabToulouseFrance
  2. 2.ISAEToulouseFrance

Personalised recommendations