Advertisement

Combining Widening and Acceleration in Linear Relation Analysis

  • Laure Gonnord
  • Nicolas Halbwachs
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4134)

Abstract

Linear Relation Analysis [CH78, Hal79] is one of the first, but still one of the most powerful, abstract interpretations working in an infinite lattice. As such, it makes use of a widening operator to enforce the convergence of fixpoint computations. While the approximation due to widening can be arbitrarily refined by delaying the application of widening, the analysis quickly becomes too expensive with the increase of delay. Previous attempts at improving the precision of widening are not completely satisfactory, since none of them is guaranteed to improve the precision of the result, and they can nevertheless increase the cost of the analysis. In this paper, we investigate an improvement of Linear Relation Analysis consisting in computing, when possible, the exact (abstract) effect of a loop. This technique is fully compatible with the use of widening, and whenever it applies, it improves both the precision and the performance of the analysis.

Keywords

Convex Hull Abstract Interpretation Reachable State Hybrid Automaton Control Graph 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [ACH+95]
    Alur, R., Courcoubetis, C., Halbwachs, N., Henzinger, T., Ho, P., Nicollin, X., Olivero, A., Sifakis, J., Yovine, S.: The algorithmic analysis of hybrid systems. Theoretical Computer Science B 138, 3–34 (1995)CrossRefzbMATHGoogle Scholar
  2. [BBC+00]
    Bjorner, N., Browne, A., Colon, M., Finkbeiner, B., Manna, Z., Sipma, H., Uribe, T.: Verifying temporal properties of reactive systems: A STeP tutorial. Formal Methods in System Design 16, 227–270 (2000)CrossRefGoogle Scholar
  3. [BBM97]
    Bjorner, N., Browne, I.A., Manna, Z.: Automatic generation of invariants and intermediate assertions. Theoretical Computer Science 173(1), 49–87 (1997)CrossRefMathSciNetGoogle Scholar
  4. [BCC+03]
    Blanchet, B., Cousot, P., Cousot, R., Feret, J., Mauborgne, L., Miné, A., Monniaux, D., Rival, X.: A static analyzer for large safety-critical software. In: PLDI 2003, ACM SIGPLAN SIGSOFT Conference on Programming Language Design and Implementation, San Diego, CA, pp. 196–207 (June 2003)Google Scholar
  5. [BFLP03]
    Bardin, S., Finkel, A., Leroux, J., Petrucci, L.: Fast: Fast acceleration of symbolic transition systems. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 118–121. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. [BHRZ03]
    Bagnara, R., Hill, P.M., Ricci, E., Zaffanella, E.: Precise widening operators for convex polyhedra. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 337–354. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  7. [Boi99]
    Boigelot, B.: Symbolic methods for exploring infinite state spaces. Phd thesis, Université de Liège (1999)Google Scholar
  8. [Bou92]
    Bourdoncle, F.: Sémantique des langages impératifs d’ordre supérieur et interprétation abstraite. Thesis, Ecole Polytechnique, Paris (1992)Google Scholar
  9. [BW94]
    Boigelot, B., Wolper, P.: Symbolic verification with periodic sets. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818. Springer, Heidelberg (1994)Google Scholar
  10. [CC77]
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: 4th ACM Symposium on Principles of Programming Languages, POPL 1977, Los Angeles (January 1977)Google Scholar
  11. [CH78]
    Cousot, P., Halbwachs, N.: Automatic discovery of linear restraints among variables of a program. In: 5th ACM Symposium on Principles of Programming Languages, POPL 1978, Tucson, Arizona (January 1978)Google Scholar
  12. [CHR91]
    Chaochen, Z., Hoare, C.A.R., Ravn, A.P.: A calculus of durations. Information Processing Letters 40(5) (1991)Google Scholar
  13. [CJ98]
    Comon, H., Jurski, Y.: Multiple counters automata, safety analysis and Presburger arithmetic. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  14. [DRS01]
    Dor, N., Rodeh, M., Sagiv, M.: Cleanness checking of string manipulations in C programs via integer analysis. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, p. 194. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  15. [FL02]
    Finkel, A., Leroux, J.: How to compose presburger-accelerations: Applications to broadcast protocols. In: Agrawal, M., Seth, A.K. (eds.) FSTTCS 2002. LNCS, vol. 2556, pp. 145–156. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  16. [FS00]
    Finkel, A., Sutre, G.: An algorithm constructing the semilinear post for 2-dim reset/Transfer VASS. In: Nielsen, M., Rovan, B. (eds.) MFCS 2000. LNCS, vol. 1893, p. 353. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  17. [GR06]
    Gopan, D., Reps, T.: Lookahead widening. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 452–466. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  18. [Hal79]
    Halbwachs, N.: Détermination automatique de relations linéaires vérifiées par les variables d’un programme. Thèse de troisième cycle, University of Grenoble (March 1979)Google Scholar
  19. [Hal97]
    Halava, V.: Decidable and undecidable problems in matrix theory. Technical Report TUCS-TR-127, University of Turku, 30 (1997)Google Scholar
  20. [HHWT97]
    Henzinger, T.A., Ho, P.-H., Wong-Toi, H.: Hytech: A model checker for hybrid systems. Software Tools for Technology Transfer 1, 110–122 (1997)CrossRefzbMATHGoogle Scholar
  21. [HPR97]
    Halbwachs, N., Proy, Y.E., Roumanoff, P.: Verification of real-time systems using linear relation analysis. Formal Methods in System Design 11(2), 157–185 (1997)CrossRefGoogle Scholar
  22. [IJT91]
    Irigoin, F., Jouvelot, P., Triolet, R.: Semantical interprocedural parallelization: An overview of the PIPS project. In: ACM Int. Conf. on Supercomputing, ICS 1991, Köln (1991)Google Scholar
  23. [Iri05]
    Irigoin, F.: Detecting affine loop invariants using modular static analysis. Technical Report A/367/CRI, Centre de Recherche en Informatique, Ecole des Mines de Paris (July 2005)Google Scholar
  24. [SSM04]
    Sankaranarayanan, S., Sipma, H.B., Manna, Z.: Constraint-based linear-relations analysis. In: Giacobazzi, R. (ed.) SAS 2004. LNCS, vol. 3148, pp. 53–68. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  25. [SW04]
    Su, Z., Wagner, D.: A class of polynomially solvable range constraints for interval analysis without widenings and narrowings. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 280–295. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  26. [Tar72]
    Tarjan, R.E.: Depth-first search and linear graph algorithms. SIAM Journal on Computing 1, 146–160 (1972)CrossRefMathSciNetzbMATHGoogle Scholar
  27. [Tiw04]
    Tiwari, A.: Termination of linear programs. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 70–82. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  28. [WB98]
    Wolper, P., Boigelot, B.: Verifying systems with infinite but regular state spaces. In: Y. Vardi, M. (ed.) CAV 1998. LNCS, vol. 1427, pp. 88–97. Springer, Heidelberg (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Laure Gonnord
    • 1
  • Nicolas Halbwachs
    • 1
  1. 1.VérimagGrenobleFrance

Personalised recommendations