Transitive Closures of Affine Integer Tuple Relations and Their Overapproximations

  • Sven Verdoolaege
  • Albert Cohen
  • Anna Beletska
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6887)

Abstract

The set of paths in a graph is an important concept with many applications in system analysis. In the context of integer tuple relations, which can be used to represent possibly infinite graphs, this set corresponds to the transitive closure of the relation representing the graph. Relations described using only affine constraints and projection are fairly efficient to use in practice and capture Presburger arithmetic. Unfortunately, the transitive closure of such a quasi-affine relation may not be quasi-affine and so there is a need for approximations. In particular, most applications in system analysis require overapproximations. Previous work has mostly focused either on underapproximations or special cases of affine relations. We present a novel algorithm for computing overapproximations of transitive closures for the general case of quasi-affine relations (convex or not). Experiments on non-trivial relations from real-world applications show our algorithm to be on average more accurate and faster than the best known alternatives.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ancourt, C., Coelho, F., Irigoin, F.: A modular static analysis approach to affine loop invariants detection. Electron. Notes Theor. Comput. Sci. 267, 3–16 (2010)CrossRefMATHGoogle Scholar
  2. 2.
    Bardin, S., Finkel, A., Leroux, J., Petrucci, L.: Fast: acceleration from theory to practice. STTT 10(5), 401–424 (2008)CrossRefGoogle Scholar
  3. 3.
    Barthou, D., Cohen, A., Collard, J.-F.: Maximal static expansion. Int. J. Parallel Programming 28(3), 213–243 (2000)CrossRefGoogle Scholar
  4. 4.
    Barthou, D., Feautrier, P., Redon, X.: On the equivalence of two systems of affine recurrence equations. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 309–313. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Bastoul, C.: Code generation in the polyhedral model is easier than you think. In: PACT 2004: Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, pp. 7–16. IEEE Computer Society, Washington, DC, USA (2004)CrossRefGoogle Scholar
  6. 6.
    Beletska, A., Barthou, D., Bielecki, W., Cohen, A.: Computing the transitive closure of a union of affine integer tuple relations. In: Du, D.-Z., Hu, X., Pardalos, P.M. (eds.) COCOA 2009. LNCS, vol. 5573, pp. 98–109. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  7. 7.
    Beletska, A., Bielecki, W., Cohen, A., Palkowski, M., Siedlecki, K.: Coarse-grained loop parallelization: Iteration space slicing vs affine transformations. In: International Symposium on Parallel and Distributed Computing, 73–80 (2009)Google Scholar
  8. 8.
    Bielecki, W., Klimek, T., Trifunovic, K.: Calculating exact transitive closure for a normalized affine integer tuple relation. Electronic Notes in Discrete Mathematics 33, 7–14 (2009)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Bielecki, W., Klimek, T., Palkowski, M., Beletska, A.: An iterative algorithm of computing the transitive closure of a union of parameterized affine integer tuple relations. In: Wu, W., Daescu, O. (eds.) COCOA 2010, Part I. LNCS, vol. 6508, pp. 104–113. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  10. 10.
    Boigelot, B.: Symbolic Methods for Exploring Infinite State Spaces. Ph.D. thesis, Université de Liège (1998)Google Scholar
  11. 11.
    Boigelot, B., Wolper, P.: Symbolic verification with periodic sets. In: Proceedings of the 6th International Conference on Computer-Aided Verification. Lecture Notes in Computer Science, vol. 818, pp. 55–67. Springer, Heidelberg (1994)Google Scholar
  12. 12.
    Boigelot, B., Herbreteau, F.: The power of hybrid acceleration. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 438–451. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Bozga, M., Gîrlea, C., Iosif, R.: Iterating octagons. In: Kowalewski, S., Philippou, A. (eds.) TACAS 2009. LNCS, vol. 5505, pp. 337–351. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  14. 14.
    Bozga, M., Iosif, R., Konečný, F.: Fast acceleration of ultimately periodic relations. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 227–242. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  15. 15.
    Bultan, T., Gerber, R., Pugh, W.: Model-checking concurrent systems with unbounded integer variables: symbolic representations, approximations, and experimental results. ACM Trans. Program. Lang. Syst. 21(4), 747–789 (1999)CrossRefGoogle Scholar
  16. 16.
    Chen, C.: Omega+ library (2009), http://www.chunchen.info/omega/
  17. 17.
    Chin, W.N., Khoo, S.C.: Calculating sized types. Higher Order Symbol. Comput. 14(2-3), 261–300 (2001)CrossRefMATHGoogle Scholar
  18. 18.
    Comon, H., Jurski, Y.: Multiple counters automata, safety analysis and presburger arithmetic. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, pp. 268–279. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  19. 19.
    Darte, A., Robert, Y., Vivien, F.: Scheduling and Automatic Parallelization. Birkhauser, Boston (2000)Google Scholar
  20. 20.
    Demri, S., Finkel, A., Goranko, V., van Drimmelen, G.: Towards a model-checker for counter systems. In: Graf, S., Zhang, W. (eds.) ATVA 2006. LNCS, vol. 4218, pp. 493–507. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Feautrier, P.: Parametric integer programming. Operationnelle/Operations Research 22(3), 243–268 (1988)MathSciNetMATHGoogle Scholar
  22. 22.
    Feautrier, P.: Automatic Parallelization in the Polytope Model. In: Perrin, G.-R., Darte, A. (eds.) The Data Parallel Programming Model. LNCS, vol. 1132, pp. 79–100. Springer, Heidelberg (1996)Google Scholar
  23. 23.
    Feautrier, P., Griebl, M., Lengauer, C.: On index set splitting. In: Parallel Architectures and Compilation Techniques, PACT 1999, Newport Beach, CA (October 1999) Google Scholar
  24. 24.
    Feautrier, P., Gonnord, L.: Accelerated invariant generation for c programs with aspic and c2fsm. Electron. Notes Theor. Comput. Sci. 267, 3–13 (2010)CrossRefGoogle Scholar
  25. 25.
    Kelly, W., Pugh, W., Rosser, E., Shpeisman, T.: Transitive closure of infinite graphs and its applications. In: Huang, C.H., Sadayappan, P., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D.A. (eds.) LCPC 1995. LNCS, vol. 1033, pp. 126–140. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  26. 26.
    Lombardy, S., Régis-Gianas, Y., Sakarovitch, J.: Introducing VAUCANSON. Theor. Comput. Sci. 328(1-2), 77–96 (2004)Google Scholar
  27. 27.
    Pugh, W., Wonnacott, D.: An exact method for analysis of value-based array data dependences. In: Proceedings of the 6th International Workshop on Languages and Compilers for Parallel Computing, pp. 546–566. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  28. 28.
    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
  29. 29.
    Schrijver, A.: Theory of Linear and Integer Programming. John Wiley & Sons, Chichester (1986)MATHGoogle Scholar
  30. 30.
    Tarjan, R.: Depth-first search and linear graph algorithms. SIAM Journal on Computing 1(2), 146–160 (1972)MathSciNetCrossRefMATHGoogle Scholar
  31. 31.
    Vardhan, A., Viswanathan, M.: LEVER: A tool for learning based verification. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 471–474. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  32. 32.
    Verdoolaege, S.: isl: An integer set library for the polyhedral model. In: Fukuda, K., van der Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 299–302. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  33. 33.
    Verdoolaege, S., Cohen, A., Beletska, A.: Transitive closures of affine integer tuple relations and their overapproximations. Tech. Rep. RR-7560, INRIA (March 2011)Google Scholar
  34. 34.
    Verdoolaege, S., Janssens, G., Bruynooghe, M.: Equivalence checking of static affine programs using widening to handle recurrences. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 599–613. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  35. 35.
    NAS benchmarks suite, http://www.nas.nasa.gov

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Sven Verdoolaege
    • 1
  • Albert Cohen
    • 1
  • Anna Beletska
    • 1
  1. 1.INRIA and École Normale SupérieureFrance

Personalised recommendations