Interprocedural Reachability for Flat Integer Programs

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9210)

Abstract

We study programs with integer data, procedure calls and arbitrary call graphs. We show that, whenever the guards and updates are given by octagonal relations, the reachability problem along control flow paths within some language \(w_1^* \ldots w_d^*\) over program statements is decidable in Nexptime. To achieve this upper bound, we combine a program transformation into the same class of programs but without procedures, with an Np-completeness result for the reachability problem of procedure-less programs. Besides the program, the expression \(w_1^* \ldots w_d^*\) is also mapped onto an expression of a similar form but this time over the transformed program statements. Several arguments involving context-free grammars and their generative process enable us to give tight bounds on the size of the resulting expression. The currently existing gap between Np-hard and Nexptime can be closed to Np-complete when a certain parameter of the analysis is assumed to be constant.

References

  1. 1.
    Abdulla, P.A., Atig, M.F., Delzanno, G., Podelski, A.: Push-down automata with gap-order constraints. In: Arbab, F., Sirjani, M. (eds.) FSEN 2013. LNCS, vol. 8161, pp. 199–216. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  2. 2.
    Alur, R., Madhusudan, P.: Adding nesting structure to words. J. ACM 56(3), 16:1–16:43 (2009)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Atig, M.F., Ganty, P.: Approximating petri net reachability along context-free traces. In: FSTTCS 2011, vol. 13. LIPIcs, pp. 152–163. Schloss Dagstuhl (2011)Google Scholar
  4. 4.
    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
  5. 5.
    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
  6. 6.
    Bozga, M., Iosif, R., Konečný, F.: Safety problems are np-complete for flat integer programs with octagonal loops. In: McMillan, K.L., Rival, X. (eds.) VMCAI 2014. LNCS, vol. 8318, pp. 242–261. Springer, Heidelberg (2014) CrossRefGoogle Scholar
  7. 7.
    Bozzelli, L., Pinchinat, S.: Verification of gap-order constraint abstractions of counter systems. Theo. Comput. Sci. 523, 1–36 (2014)CrossRefMathSciNetMATHGoogle Scholar
  8. 8.
    Demri, S., Dhar, A.K., Sangnier, A.: Taming past ltl and flat counter systems. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS, vol. 7364, pp. 179–193. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  9. 9.
    Esparza, J., Ganty, P.: Complexity of pattern-based verification for multithreaded programs. In: POPL 2011, pp. 499–510. ACM Press (2011)Google Scholar
  10. 10.
    Ganty, P., Iosif, R.: Interprocedural reachability for flat integer programs. CoRR, abs/1405.3069v3 (2015)Google Scholar
  11. 11.
    Ganty, P., Iosif, R., Konečný, F.: Underapproximation of procedure summaries for integer programs. In: Piterman, N., Smolka, S.A. (eds.) TACAS 2013 (ETAPS 2013). LNCS, vol. 7795, pp. 245–259. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  12. 12.
    Ginsburg, S.: The Mathematical Theory of Context-Free Languages. McGraw-Hill Inc., New York (1966) MATHGoogle Scholar
  13. 13.
    Godoy, G., Tiwari, A.: Invariant checking for programs with procedure calls. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 326–342. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  14. 14.
    Hojjat, H., Iosif, R., Konečný, F., Kuncak, V., Rümmer, P.: Accelerating interpolants. In: Chakraborty, S., Mukund, M. (eds.) ATVA 2012. LNCS, vol. 7561, pp. 187–202. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  15. 15.
    Kroening, D., Lewis, M., Weissenbacher, G.: Under-approximating loops in c programs for fast counterexample detection. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 381–396. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  16. 16.
    Lazic, R.: The reachability problem for vector addition systems with a stack is not elementary. In: RP 2012 (2012)Google Scholar
  17. 17.
    Lazic, R., Schmitz, S.: Non-elementary complexities for branching VASS, MELL, and extensions. In: CSL-LICS 2014. ACM (2014)Google Scholar
  18. 18.
    Luker, M.: A family of languages having only finite-index grammars. Inf. Control 39(1), 14–18 (1978)CrossRefMathSciNetMATHGoogle Scholar
  19. 19.
    Luker, M.: Control sets on grammars using depth-first derivations. Math. Syst. Theo. 13, 349–359 (1980)CrossRefMathSciNetMATHGoogle Scholar
  20. 20.
    Miné, A.: The octagon abstract domain. Higher-Order Symbolic Comput. 19(1), 31–100 (2006)CrossRefMATHGoogle Scholar
  21. 21.
    Minsky, M.: Computation: Finite and Infinite Machines. Prentice-Hall, Upper Saddle River (1967)MATHGoogle Scholar
  22. 22.
    Revesz, P.Z.: A closed-form evaluation for datalog queries with integer (gap)-order constraints. Theo. Comput. Sci. 116(1), 117–149 (1993)CrossRefMathSciNetMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.IMDEA Software InstituteMadridSpain
  2. 2.CNRS/VERIMAGGrenobleFrance

Personalised recommendations