skip to main content
10.1145/1806596.1806630acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

The reachability-bound problem

Published:05 June 2010Publication History

ABSTRACT

We define the reachability-bound problem to be the problem of finding a symbolic worst-case bound on the number of times a given control location inside a procedure is visited in terms of the inputs to that procedure. This has applications in bounding resources consumed by a program such as time, memory, network-traffic, power, as well as estimating quantitative properties (as opposed to boolean properties) of data in programs, such as information leakage or uncertainty propagation. Our approach to solving the reachability-bound problem brings together two different techniques for reasoning about loops in an effective manner. One of these techniques is an abstract-interpretation based iterative technique for computing precise disjunctive invariants (to summarize nested loops). The other technique is a non-iterative proof-rules based technique (for loop bound computation) that takes over the role of doing inductive reasoning, while deriving its power from the use of SMT solvers to reason about abstract loop-free fragments.

Our solution to the reachability-bound problem allows us to compute precise symbolic complexity bounds for several loops in .Net base-class libraries for which earlier techniques fail. We also illustrate the precision of our algorithm for disjunctive invariant computation (which has a more general applicability beyond the reachability-bound problem) on a set of benchmark examples.

References

  1. Z3 Theorem Prover. research.microsoft.com/projects/Z3/.Google ScholarGoogle Scholar
  2. E. Albert, P. Arenas, S. Genaim, and G. Puebla. Automatic inference of upper bounds for recurrence relations in cost analysis. In SAS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. M. Ben--Amram. Size-change termination, monotonicity constraints and ranking functions. In CAV, pages 109--123, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. Berdine, A. Chawdhary, B. Cook, D. Distefano, and P. O'Hearn. Variance analyses from invariance analyses. In POPL, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Beyer, T. A. Henzinger, R. Majumdar, and A. Rybalchenko. Path invariants. In PLDI, pages 300--309, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. A. Bradley, Z. Manna, and H. Sipma. Termination of polynomial programs. In VMCAI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Chaudhuri, S. Gulwani, and R. Lublinerman. Continuity analysis of programs. In POPL, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. Cook, A. Podelski, and A. Rybalchenko. Termination proofs for systems code. In PLDI, pages 415--426, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In POPL, pages 238--252, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Cousot and N. Halbwachs. Automatic Discovery of Linear Restraints among Variables of a Program. In POPL, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Crary and S. Weirich. Resource bound certification. In POPL '00. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Goldsmith, A. Aiken, and D. S. Wilkerson. Measuring empirical computational complexity. In ESEC/SIGSOFT FSE, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Gopan and T. W. Reps. Lookahead widening. In CAV, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Gopan and T. W. Reps. Guided static analysis. In SAS, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. S. Gulavani and S. Gulwani. A numerical abstract domain based on expression abstraction and max operator with application in timing analysis. In CAV, pages 370--384, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Gulwani, S. Jain, and E. Koskinen. Control-flow refinement and progress invariants for bound analysis. In PLDI, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Gulwani and S. Juvekar. Bound analysis using backward symbolic execution. Technical report, Oct 2009.Google ScholarGoogle Scholar
  18. S. Gulwani, T. Lev-Ami, and M. Sagiv. A combination framework for tracking partition sizes. In POPL, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. S. Gulwani, K. Mehra, and T. Chilimbi. Speed: precise and efficient static estimation of program computational complexity. In POPL '09. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. Handjieva and S. Tzolovski. Refining static analyses by tracebased partitioning using control flow. In SAS, pages 200--214, 1998.Google ScholarGoogle Scholar
  21. T. Henzinger. From boolean to quantitative system specifications, keynote. In Ist Workshop on Quantitative Analysis of Software. http://research.microsoft.com/users/sumitg/qa09/keynote.pdf, 2009.Google ScholarGoogle Scholar
  22. S. Jost, H. Loidl, K. Hammond, andM. Hofmann. Static determination of quant. resource usage for higher-order programs. In POPL '10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. P. Malacaria. Assessing security threats of looping constructs. In POPL, pages 225--235, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Miné. The octagon abstract domain. In WCRE, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  25. S. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Microsoft Phoenix Compiler, research.microsoft.com/phoenix/.Google ScholarGoogle Scholar
  27. A. Podelski and A. Rybalchenko. A complete method for the synthesis of linear ranking functions. In VMCAI'04.Google ScholarGoogle Scholar
  28. A. Podelski and A. Rybalchenko. Transition invariants. In LICS '04. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. Popeea and W.-N. Chin. Inferring disjunctive postconditions. In ASIAN, pages 331--345, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Prantl, J. Knoop, M. Schordan, and M. Triska. Constraint solving for high-level wcet analysis. CoRR, 2009.Google ScholarGoogle Scholar
  31. H. S. Warren. Hacker's Delight. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. R.Wilhelm, J. Engblom, A. Ermedahl, N. Holsti, S. Thesing, D. Whalley, G. Bernat, C. Ferdinand, R. Heckmann, F. Mueller, I. Puaut, P. Puschner, J. Staschulat, and P. Stenström. The Determination of Worst-Case Execution Times--Overview of the Methods and Survey of Tools. In ACM Transactions on Embedded Computing Systems (TECS), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. The reachability-bound problem

                          Recommendations

                          Comments

                          Login options

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

                          Sign in
                          • Published in

                            cover image ACM Conferences
                            PLDI '10: Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation
                            June 2010
                            514 pages
                            ISBN:9781450300193
                            DOI:10.1145/1806596
                            • cover image ACM SIGPLAN Notices
                              ACM SIGPLAN Notices  Volume 45, Issue 6
                              PLDI '10
                              June 2010
                              496 pages
                              ISSN:0362-1340
                              EISSN:1558-1160
                              DOI:10.1145/1809028
                              Issue’s Table of Contents

                            Copyright © 2010 ACM

                            Publisher

                            Association for Computing Machinery

                            New York, NY, United States

                            Publication History

                            • Published: 5 June 2010

                            Permissions

                            Request permissions about this article.

                            Request Permissions

                            Check for updates

                            Qualifiers

                            • research-article

                            Acceptance Rates

                            Overall Acceptance Rate406of2,067submissions,20%

                          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!