skip to main content
research-article
Free Access

Solving systems of rational equations through strategy iteration

Published:04 May 2011Publication History
Skip Abstract Section

Abstract

We present practical algorithms for computing exact least solutions of equation systems over the reals with addition, multiplication by positive constants, minimum and maximum. The algorithms are based on strategy iteration. Our algorithms can, for instance, be used for the analysis of recursive stochastic games. In the present article we apply our techniques for computing abstract least fixpoint semantics of affine programs over the relational template polyhedra domain. In particular, we thus obtain practical algorithms for computing abstract least fixpoint semantics over the abstract domains of intervals, zones, and octagons.

Skip Supplemental Material Section

Supplemental Material

References

  1. Aceto, L., Damgård, I., Goldberg, L. A., Ralldórsson, M. M., Ingólfsdóttir, A., and Walukiewicz, I., Eds. 2008. Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP '08), Part I: Track A: Algorithms, Automata, Complexity, and Games. Lecture Notes in Computer Science, vol. 5125, Springer Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Adjé, A., Gaubert, S., and Goubault, E. 2010. Coupling policy iteration with semi-definite relaxation to compute accurate numerical invariants in static analysis. In Proceedings of the European Symposium on Programming. A. D. Gordon Ed., Lecture Notes in Computer Science, vol. 6012. Springer Verlag, 23--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Björklund, R., Sandberg, S., and Vorobyov, S. 2002. Optimization on completely unimodal hypercubes. Tech. rep. 2002-18, Department of Information Technology, Uppsala University.Google ScholarGoogle Scholar
  4. Björklund, R., Sandberg, S., and Vorobyov, S. 2003. Complexity of model checking by iterative improvement: The pseudo-Boolean framework. In Proceedings of the Ershov Memorial Conference. M. Broy and A. V. Zamulin Eds., Lecture Notes in Computer Science, vol. 2890, Springer Verlag, 381--394.Google ScholarGoogle Scholar
  5. Cochet-Terrasson, J., Gaubert, S., and Gunawardena, J. 1999. A constructive fixed point theorem for min-max functions. Dyn. Stab. Syst. 14, 4, 407--433.Google ScholarGoogle ScholarCross RefCross Ref
  6. Colón, M., Sankaranarayanan, S., and Sipma, R. 2003. Linear invariant generation using non-linear constraint solving. In Proceedings of the International Conference on Computer-Aided Verification. W. A. Hunt Jr. and F. Somenzi Eds., Lecture Notes in Computer Science, vol. 2725, Springer Verlag, 420--432.Google ScholarGoogle Scholar
  7. Costan, A., Gaubert, S., Goubault, E., Martel, M., and Putot, S. 2005. A policy iteration algorithm for computing fixed points in static analysis of programs. In Proceedings of the International Conference on Computer-Aided Verification. K. Etessami and S. K. Rajamani Eds., Lecture Notes in Computer Science, vol. 3576, Springer Verlag, 462--475. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cousot, P. 2005. Proving program invariance and termination by parametric abstraction, Lagrangian relaxation and semi definite programming. In Proceedings of the International Conference on Verification, Model Checking and Abstract Interpretation. R. Cousot Ed., Lecture Notes in Computer Science, vol. 3385, Springer Verlag, 1--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cousot, P. and Cousot, R. 1976. Static determination of dynamic properties of programs. In Proceedings of the 2nd International Symposium on Programming. 106--130.Google ScholarGoogle Scholar
  10. Cousot, P. and Cousot, R. 1979. Systematic design of program analysis frameworks. In Proceedings of the 6th ACM Symposium on Principles of Programming Languages. 238--352. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Cousot, P. and Ralbwachs, N. 1978. Automatic discovery of linear restraints among variables of a program. In Proceedings of the ACM Symposium on Principles of Programming Languages. 84--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Erne, M., Koslowski, J., Melton, A., and Strecker, G. 1992. A primer on Galois connections. Ann. N. Y. Acad. Sci 704, 103--125.Google ScholarGoogle ScholarCross RefCross Ref
  13. Esparza, J., Gawlitza, T., Kiefer, S., and Seidl, R. 2008a. Approximative methods for monotone systems ofmin-max-polynomial equations. In Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP '08), Part I: Track A: Algorithms, Automata, Complexity, and Games. Lecture Notes in Computer Science, vol. 5125, Springer Verlag, 698--710. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Esparza, J., Kiefer, S., and Luttenberger, M. 2008b. Convergence thresholds of Newton's method for monotone polynomial equations. In Proceedings of the Annual Symposium on Theoretical Aspects of Computer Science. 289--300.Google ScholarGoogle Scholar
  15. Etessami, K., Wojtczak, D., and Yannakakis, M. 2008. Recursive stochastic games with positive rwards. In Proceedings of the 35th International Colloquium on Automata, Languages and Programming (ICALP '08), Part I: Track A: Algorithms, Automata, Complexity, and Games. Lecture Notes in Computer Science, vol. 5125, Springer Verlag, 711--723. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Etessami, K. and Yannakakis, M. 2005a. Recursive Markov chains, stochastic grammars, and monotone systems of nonlinear equations. In Proceedings of the Annual Symposium on Theoretical Aspects of Computer Science. V Diekert and B. Durand Eds., Lecture Notes in Computer Science, vol. 3404, Springer Verlag, 340--352. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Etessami, K. and Yannakakis, M. 2005b. Recursive Markov decision processes and recursive stochastic games. In Proceedings of the International Colloquium on Automata, Languages and Programming. L. Caires, G. F. Italiano, L. Monteiro, C. Palamidessi, and M. Yung Eds., Lecture Notes in Computer Science, vol. 3580, Springer Verlag, 891--903. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Etessami, K. and Yannakakis, M. 2006. Recursive concurrent stochastic games. In Proceedings of the International Colloquium on Automata, Languages and Programming, M. Bugliesi, B. Preneel, V Sassone, and 1. Wegener Eds., Lecture Notes in Computer Science, vol. 4052, Springer Verlag, 324--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Gaubert, S., Goubault, E., Taly, A., and Zennou, S. 2007. Static analysis by policy iteration on relational domains. In Proceedings of the European Symposium on Programming. R. D. Nicola Ed., Lecture Notes in Computer Science, vol. 4421, Springer Verlag, 237--252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Gawlitza, T., Leroux, J., Reineke, J., Seidl, H., Sutre, G., and Wilhelm, R. 2009. Polynomial precise interval analysis revisited. In Efficient Algorithms, S. Albers, H. Alt, and S. Naher Eds., Lecture Notes in Computer Science, vol. 5760, Springer Verlag, 422--437. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Gawlitza, T. and Seidl, H. 2007. Precise relational invariants through strategy iteration. In Proceedings of the International Workshop on Computer Science Logic, J. Duparc and T. A. Henzinger Eds., Lecture Notes in Computer Science, vol. 4646, Springer Verlag, 23--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Gonnord, L. 2007. Acceleration abstraite pour l'amelioration de la precision en analyse des relations lineaires. Ph.D. thesis, Université Joseph Fourier.Google ScholarGoogle Scholar
  23. Gonnord, L. and Halbwachs, N. 2006. Combining widening and acceleration in linear relation analysis. In Proceedings of the International Static Analysis Symposium. K. Yi Ed., Lecture Notes in Computer Science, vol. 4134, Springer Verlag, 144--160. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Hoffman, A. and Karp, R. 1966. On nonterminating stochastic games. Manage. Sci. 12, 359--370.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Howard, R. 1960. Dynamic Programming and Markov Processes. Wiley, New York.Google ScholarGoogle Scholar
  26. Karmarkar, N. 1984. A new polynomial-time algorithm for linear programming. Combinatorica 4, 4, 373--396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Kiefer, S., Luttenberger, M., and Esparza, J. 2007. On the convergence of Newton's method for monotone systems of polynomial equations. In Proceedings of the Annual ACM Symposium on Theory of Computing. D. S. Johnson and U. Feige Eds., 217--226. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Klee, V. and Minty, G. J.. 1972. How good is the simplex algorithm? Inequalities III, 159--175.Google ScholarGoogle Scholar
  29. Leconte, J., Roux, S. L., Liberti, L., and Marinelli, F. 2009. Code verification by static analysis: A mathematical programming approach. Tech. rep., LIX, Ecole Polytechnique, Palaiseau.Google ScholarGoogle Scholar
  30. Leroux, J. and Sutre, G. 2007. Accelerated data-flow analysis. In Proceedings of the International Static Analysis Symposium. Lecture Notes in Computer Science, vol. 4634, Springer Verlag, 184--199. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Miné, A. 2001a. A new numerical abstract domain based on difference-bound matrices. In Proceedings of the 2nd Symposium on Programs as Data Objects. O. Danvy and A. Filinski Eds., Lecture Notes in Computer Science, vol. 2053, Springer Verlag, 155--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Miné, A. 2001b. The octagon abstract domain. In Proceedings of the IEEE Working Conference on Reverse Engineering. 310--319. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Monniaux, D. 2008. A quantifier elimination algorithm for linear real arithmetic. In Proceedings of the International Conference on Logic Programming, Artificial Intelligence and Reasoning. I. Cervesato, H. Veith, and A. Voronkov Eds., Lecture Notes in Computer Science, vol. 5330, Springer Verlag, 243--257. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Monniaux, D. 2009. Automatic modular abstractions for linear constraints. In Proceedings of the ACM Symposium on Principles of Programming Languages. Z. Shao and B. C. Pierce Eds., 140--151. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Müller-Olm, M. and Seidl, H. 2004. Precise interprocedural analysis through linear algebra. In Proceedings of the ACM Symposium on Principles of Programming Languages. N. D. Jones and X. Leroy Eds., 330--341. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Puri, A. 1995. Theory of hybrid and discrete systems. Ph.D. thesis, University of California, Berkeley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Puterman, M. L. 1994. Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Sankaranarayanan, S., Sipma, H. B., and Manna, Z. 2004. Constraint-based linear-relations analysis. In Proceedings of the International Workshop on Computer Science Logic. R. Giacobazzi Ed., Lecture Notes in Computer Science, vol. 3148, Springer Verlag, 53--68.Google ScholarGoogle Scholar
  39. Sankaranarayanan, S., Sipma, H. B., and Manna, Z. 2005. Scalable analysis oflinear systems using mathematical programming. In Proceedings of the Conference on Verification, Model-Checking and Abstract Interpretation. R. Cousot Ed., Lecture Notes in Computer Science, vol. 3385, Springer Verlag, 25--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Schrijver, A. 1986. Theory of Linear and Integer Programming. Wiley, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Shaham, R., Kolodner, E. K., and Sagiv, S. 2000. Automatic removal of array memory leaks in Java. In Proceedings of the International Conference on Compiler Construction. D. A. Watt Ed., Lecture Notes in Computer Science, vol. 1781, Springer Verlag, 50--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Tarski, A. 1955. A lattice-theoretical fixpoint theorem and its appications. Pac. J Math. 5, 285--309.Google ScholarGoogle ScholarCross RefCross Ref
  43. Vöge, J. and Jurdziński, M. 2000. A discrete strategy improvement algorithm for solving parity games. In Proceedings of the 12th International Conference onComputer-Aided Verification. Springer Verlag, 202--215. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Wojtczak, D. and Etessami, K. 2007. PReMo: An analyzer for probabilistic recursive models. In Proceedings of the Workshop on Tools and Algorithms for the Construction and Analysis of Systems. V O. Grumberg and M. Huth Eds., Lecture Notes in Computer Science, vol. 4424, Springer Verlag, 66--71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Wright, S. J. 1997. PrimalṡDual InteriorṡPoint Methods. SIAM, Philadelphia, PA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Wright, S. J. 1999. Recent developments in interior-point methods. In System Modelling and Optimization, M. J. D. Powell and S. Scholtes Eds., IFIP Conference Proceedings Series, vol. 174. Kluwer, Amsterdam, Netherlands, 311--334. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Solving systems of rational equations through strategy iteration

                  Recommendations

                  Reviews

                  Pierre Jouvelot

                  Advanced compilation techniques that target parallel computing architectures make heavy use of various abstractions of programming constructs to decide, at compile time, whether or not a piece of code can be executed in parallel with another. These choices depend on the data access patterns of the corresponding program statements; among other approaches, such decisions can be seen as checking the satisfiability of affine rational linear equations or inequalities. Solving such systems is thus of key importance, particularly when they are extended to an algebra that includes min and max operators, enabling more precise program analyses. The introduction of min/max operators also makes this framework fit to represent stochastic games in which one player behaves as an outcome maximizer while the other strives to minimize it. Building on this metaphor, the authors propose extending the typical linear-programming-based techniques to solve such systems with two new game-like strategy improvement algorithms. One of the main advantages of this approach, and a key practical contribution of the paper, is that it can be used to perform a quite precise static analysis of programs based on the template polyhedral domain, a powerful data and program abstraction mechanism. Even though the above summary might suggest a terse and dry paper, I enjoyed reading it. The writing is clear, and multiple examples lighten the reading, which is necessary in a paper of this length. The formalism is elegant and the applications are promising. Researchers with game theory or abstract interpretation concerns should find the reading effort quite rewarding. Online Computing Reviews Service

                  Access critical reviews of Computing literature here

                  Become a reviewer for Computing Reviews.

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in

                  Full Access

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader
                  About Cookies On This Site

                  We use cookies to ensure that we give you the best experience on our website.

                  Learn more

                  Got it!