Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

Solving systems of rational equations through strategy iteration

Published: 04 May 2011 Publication History

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.

Supplementary Material

Gawlitza Appendix (a11-gawlitza-apndx.pdf)
Online appendix to solving systems of rational equations through strategy iteration on article 11.

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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[12]
Erne, M., Koslowski, J., Melton, A., and Strecker, G. 1992. A primer on Galois connections. Ann. N. Y. Acad. Sci 704, 103--125.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[22]
Gonnord, L. 2007. Acceleration abstraite pour l'amelioration de la precision en analyse des relations lineaires. Ph.D. thesis, Université Joseph Fourier.
[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.
[24]
Hoffman, A. and Karp, R. 1966. On nonterminating stochastic games. Manage. Sci. 12, 359--370.
[25]
Howard, R. 1960. Dynamic Programming and Markov Processes. Wiley, New York.
[26]
Karmarkar, N. 1984. A new polynomial-time algorithm for linear programming. Combinatorica 4, 4, 373--396.
[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.
[28]
Klee, V. and Minty, G. J. 1972. How good is the simplex algorithm? Inequalities III, 159--175.
[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.
[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.
[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.
[32]
Miné, A. 2001b. The octagon abstract domain. In Proceedings of the IEEE Working Conference on Reverse Engineering. 310--319.
[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.
[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.
[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.
[36]
Puri, A. 1995. Theory of hybrid and discrete systems. Ph.D. thesis, University of California, Berkeley.
[37]
Puterman, M. L. 1994. Markov Decision Processes: Discrete Stochastic Dynamic Programming. Wiley, New York.
[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.
[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.
[40]
Schrijver, A. 1986. Theory of Linear and Integer Programming. Wiley, New York.
[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.
[42]
Tarski, A. 1955. A lattice-theoretical fixpoint theorem and its appications. Pac. J Math. 5, 285--309.
[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.
[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.
[45]
Wright, S. J. 1997. PrimalṡDual InteriorṡPoint Methods. SIAM, Philadelphia, PA.
[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.

Cited By

View all

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

Information & Contributors

Information

Published In

cover image ACM Transactions on Programming Languages and Systems
ACM Transactions on Programming Languages and Systems  Volume 33, Issue 3
April 2011
119 pages
ISSN:0164-0925
EISSN:1558-4593
DOI:10.1145/1961204
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 May 2011
Accepted: 01 September 2010
Revised: 01 July 2010
Received: 01 December 2009
Published in TOPLAS Volume 33, Issue 3

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Static program analysis
  2. abstract interpretation
  3. fixpoint equation systems
  4. recursive stochastic games
  5. strategy improvement algorithms

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)39
  • Downloads (Last 6 weeks)8
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media