skip to main content
research-article

Abstract acceleration of general linear loops

Published:08 January 2014Publication History
Skip Abstract Section

Abstract

We present abstract acceleration techniques for computing loop invariants for numerical programs with linear assignments and conditionals. Whereas abstract interpretation techniques typically over-approximate the set of reachable states iteratively, abstract acceleration captures the effect of the loop with a single, non-iterative transfer function applied to the initial states at the loop head. In contrast to previous acceleration techniques, our approach applies to any linear loop without restrictions. Its novelty lies in the use of the Jordan normal form decomposition of the loop body to derive symbolic expressions for the entries of the matrix modeling the effect of η ≥ Ο iterations of the loop. The entries of such a matrix depend on η through complex polynomial, exponential and trigonometric functions. Therefore, we introduces an abstract domain for matrices that captures the linear inequality relations between these complex expressions. This results in an abstract matrix for describing the fixpoint semantics of the loop.

Our approach integrates smoothly into standard abstract interpreters and can handle programs with nested loops and loops containing conditional branches. We evaluate it over small but complex loops that are commonly found in control software, comparing it with other tools for computing linear loop invariants. The loops in our benchmarks typically exhibit polynomial, exponential and oscillatory behaviors that present challenges to existing approaches. Our approach finds non-trivial invariants to prove useful bounds on the values of variables for such loops, clearly outperforming the existing approaches in terms of precision while exhibiting good performance.

Skip Supplemental Material Section

Supplemental Material

d3_left_t4.mp4

References

  1. C. Alias, A. Darte, P. Feautrier, and L. Gonnord. Multi-dimensional rankings, program termination, and complexity bounds of flowchart programs. In SAS, volume 6337 of LNCS, pages 117--133, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. C. Ancourt, F. Coelho, and F. Irigoin. A modular static analysis approach to affine loop invariants detection. In NSAD, volume 267 of ENTCS, pages 3--16. Elsevier, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Bardin, A. Finkel, J. Leroux, and L. Petrucci. Fast: acceleration from theory to practice. STTT, 10(5):401--424, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. B. Blanchet, P. Cousot, R. Cousot, J. Feret, L. Mauborgne, A. Miné, D. Monniaux, and X. Rival. A static analyzer for large safety-critical software. In PLDI, pages 196--207. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Boigelot and P. Godefroid. Symbolic verification of communication protocols with infinite state spaces using QDDs. In CAV, volume 1102 of LNCS, July 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. Chen, A. Miné, J. Wang, and P. Cousot. An abstract domain to discover interval linear equalities. In VMCAI, volume 5944 of LNCS, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Colón, S. Sankaranarayanan, and H. Sipma. Linear invariant generation using non-linear constraint solving. In Computer Aided Verification, CAV'03, volume 2725, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  8. P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among variables of a program. In Symposium on Principles of programming languages, POPL'78, pages 84--96, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. P. Cousot and N. Halbwachs. Automatic discovery of linear restraints among the variables of a program. In POPL, pages 84--97, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Cousot, R. Cousot, J. Feret, L. Mauborgne, A. Miné, and X. Rival. Why does Astrée scale up? FMSD, 35(3), 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. P. Feautrier and L. Gonnord. Accelerated invariant generation for C programs with Aspic and C2fsm. ENTCS, 267(2):3--13, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. J. Feret. Static analysis of digital filters. In ESOP, volume 2986 of LNCS, pages 33--48, 2004.Google ScholarGoogle Scholar
  13. J. Feret. Numerical abstract domains for digital filters. In Numerical and Symbolic Abstract Domains, 2005.Google ScholarGoogle Scholar
  14. A. Finkel and J. Leroux. How to compose Presburger-accelerations: Applications to broadcast protocols. In FSTTCS, volume 2556 of LNCS, pages 145--156, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Gaubert, E. Goubault, A. Taly, and S. Zennou. Static analysis by policy iteration on relational domains. In ESOP, volume 4421 of LNCS, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. T. M. Gawlitza and H. Seidl. Precise relational invariants through strategy iteration. In Computer Science Logic, volume 4646 of LNCS, pages 23--40. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. M. Gawlitza, H. Seidl, A. Adjé, S. Gaubert, and É. Goubault. Abstract interpretation meets convex optimization. Journal of Symbolic Computation, 47(12):1512--1532, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. L. Gonnord and N. Halbwachs. Combining widening and acceleration in linear relation analysis. In SAS, volume 4218 of LNCS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. Gupta and A. Rybalchenko. InvGen: an efficient invariant generator. In CAV, volume 5643 of LNCS, pages 634--640, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. M. Howe and A. King. Logahedra: A new weakly relational domain. In Automated Technology for Verification and Analysis, ATVA'09, volume 5799 of LNCS, pages 306--320. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. B. Jeannet and A. Miné. APRON: A library of numerical abstract domains for static analysis. In CAV, volume 5643 of LNCS, pages 661--667, 2009. http://apron.cri.ensmp.fr/library/. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. B. Jeannet, M. Argoud, and G. Lalire. The INTERPROC interprocedural analyzer. http://pop-art.inrialpes.fr/interproc/interprocweb.cgi.Google ScholarGoogle Scholar
  23. B. Jeannet, P. Schrammel, and S. Sankaranarayanan. Abstract acceleration of general linear loops. CoRR, abs/1311.768, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. J. B. Kam and J. D. Ullman. Monotone data flow analysis frameworks. Acta Informatica, 7:305--317, 1977.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. Knoop, L. Kovács, and J. Zwirchmayr. Symbolic loop bound computation for wcet analysis. In Perspectives of Systems Informatics, volume 7162 of LNCS, pages 227--242. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. L. Kovács. Invariant generation for p-solvable loops with assignments. In CSR, volume 5010 of LNCS, pages 349--359, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. Lafferriere, G. J. Pappas, and S. Yovine. Symbolic reachability computation for families of linear vector fields. JSC, 32(3):231--253, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. P. Lancaster and M. Tismenetsky. The Theory of Matrices (2nd edition). Academic Press, 1984.Google ScholarGoogle Scholar
  29. A. Miné. The octagon abstract domain. In AST 2001 in WCRE 2001, IEEE, pages 310--319. IEEE CS Press, October 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. Miné. Symbolic methods to enhance the precision of numerical abstract domains. In VMCAI, volume 3855 of LNCS, pages 348--363, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. D. Monniaux. Compositional analysis of floating-point linear numerical filters. In CAV, volume 3576 of LNCS, pages 199--212, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. D. Monniaux. Automatic modular abstractions for linear constraints. In POPL. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. J. Rohn. Solvability of systems of interval linear equations and inequalities. In Linear Optimization Problems with Inexact Data, pages 35--77, 2006.Google ScholarGoogle ScholarCross RefCross Ref
  34. P. Roux, R. Jobredeaux, P.-L. Garoche, and E. Feron. A generic ellipsoid abstract domain for linear time invariant systems. In HSCC, pages 105--114. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. Sankaranarayanan and A. Tiwari. Relational abstractions for continuous and hybrid systems. In CAV, volume 6806 of LNCS, pages 686--702. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. S. Sankaranarayanan, H. B. Sipma, and Z. Manna. Constraint-based linear-relations analysis. In SAS, volume 3148 of LNCS, pages 53--68, 2004.Google ScholarGoogle Scholar
  37. S. Sankaranarayanan, H. B. Sipma, and Z.Manna. Scalable analysis of linear systems using mathematical programming. In VMCAI, volume 3385 of LNCS, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. P. Schrammel and B. Jeannet. Logico-numerical abstract acceleration and application to the verification of data-flow programs. In SAS, volume 6887 of LNCS, pages 233--248, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. P. Schrammel and B. Jeannet. Applying abstract acceleration to (co-)reachability analysis of reactive programs. Journal of Symbolic Computation, 47(12):1512--1532, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. A. Simon and A. King. Widening polyhedra with landmarks. In Prog. Languages and Systems, APLAS'06, volume 4279 of LNCS, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. A. Tiwari. Approximate reachability for linear systems. In HSCC, volume 2623 of LNCS, pages 514--525. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. H. Yazarel and G. J. Pappas. Geometric programming relaxations for linear system reachability. In American Control Conference, pages 553--559, 2004.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Abstract acceleration of general linear loops

        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

        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!