Precise Relational Invariants Through Strategy Iteration

  • Thomas Gawlitza
  • Helmut Seidl
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4646)


We present a practical algorithm for computing exact least solutions of systems of equations over the rationals with addition, multiplication with positive constants, minimum and maximum. The algorithm is based on strategy improvement combined with solving linear programming problems for each selected strategy. We apply our technique to compute the abstract least fixpoint semantics of affine programs over the relational template constraint matrix domain [20]. In particular, we thus obtain practical algorithms for computing the abstract least fixpoint semantics over the zone and octagon abstract domain.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    GNU Linear Programming Kit,
  2. 2.
    Bjorklund, H., Sandberg, S., Vorobyov, S.: Complexity of Model Checking by Iterative Improvement: the Pseudo-Boolean Framework. In: Broy, M., Zamulin, A.V. (eds.) PSI 2003. LNCS, vol. 2890, pp. 381–394. Springer, Heidelberg (2004)Google Scholar
  3. 3.
    Cochet-Terrasson, J., Gaubert, S., Gunawardena, J.: A Constructive Fixed Point Theorem for Min-Max Functions. Dynamics and Stability of Systems 14(4), 407–433 (1999)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Costan, A., Gaubert, S., Goubault, E., 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)Google Scholar
  5. 5.
    Cousot, P., Cousot, R.: Static Determination of Dynamic Properties of Recursive Procedures. In: Neuhold, E.J. (ed.) IFIP Conf. on Formal Description of Programming Concepts, pp. 237–277. North-Holland, Amsterdam (1977)Google Scholar
  6. 6.
    Cousot, P., Cousot, R.: Systematic Design of Program Analysis Frameworks. In: 6th ACM Symp. on Principles of Programming Languages (POPL), pp. 238–352 (1979)Google Scholar
  7. 7.
    Cousot, P., Cousot, R.: Static Determination of Dynamic Properties of Programs. In: Second Int. Symp. on Programming, Dunod, Paris, France, pp. 106–130 (1976)Google Scholar
  8. 8.
    Cousot, P., Cousot, R.: Comparison of the Galois Connection and Widening/Narrowing Approaches to Abstract Interpretation. In: JTASPEFL 1991, Bordeaux. BIGRE, vol. 74, pp. 107–110 (1991)Google Scholar
  9. 9.
    Erné, M., Koslowski, J., Melton, A., Strecker, G.E.: A Primer On Galois Connections (1992)Google Scholar
  10. 10.
    Gaubert, S., Goubault, E., 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)Google Scholar
  11. 11.
    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)Google Scholar
  12. 12.
    Hoffman, A.J., Karp, R.M.: On Nonterminating Stochastic Games. Management Sci. 12, 359–370 (1966)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Howard, R.: Dynamic Programming and Markov Processes. Wiley, New York (1960)zbMATHGoogle Scholar
  14. 14.
    Megiddo, N.: On the Complexity of Linear Programming. In: Bewley, T. (ed.). Advances in Economic Theory: 5th World Congress, pp. 225–268. Cambridge University Press, Cambridge (1987)Google Scholar
  15. 15.
    Miné, A.: The Octagon Abstract Domain in Analysis, Slicing and Transformation. In: IEEE Working Conf. on Reverse Engineering, pp. 310–319. IEEE Computer Society Press, Los Alamitos (2001)Google Scholar
  16. 16.
    Miné, A.: A new numerical abstract domain based on difference-bound matrices. In: Danvy, O., Filinski, A. (eds.) PADO 2001. LNCS, vol. 2053, pp. 155–172. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  17. 17.
    Müller-Olm, M., Seidl, H.: Precise Interprocedural Analysis through Linear Algebra. In: 31st ACM Symp. on Principles of Programming Languages (POPL), pp. 330–341 (2004)Google Scholar
  18. 18.
    Puri, A.: Theory of Hybrid and Discrete Systems. PhD thesis, University of California, Berkeley (1995)Google Scholar
  19. 19.
    Puterman, M.L.: Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley, New York (1994)zbMATHGoogle Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    Schrijver, A.: Theory of linear and integer programming. John Wiley & Sons, New York, NY, USA (1986)zbMATHGoogle Scholar
  22. 22.
    Vöge, J., Jurdzinski, M.: A Discrete Strategy Improvement Algorithm for Solving Parity Games. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 202–215. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Thomas Gawlitza
    • 1
  • Helmut Seidl
    • 1
  1. 1.TU München, Institut für Informatik, I2, 85748 MünchenGermany

Personalised recommendations