Abstract
We present a modular framework to analyze the innermost runtime complexity of term rewrite systems automatically. Our method is based on the dependency pair framework for termination analysis. In contrast to previous work, we developed a direct adaptation of successful termination techniques from the dependency pair framework in order to use them for complexity analysis. By extensive experimental results, we demonstrate the power of our method compared to existing techniques.
Similar content being viewed by others
References
Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comp. Sci. 236, 133–178 (2000)
Avanzini, M., Moser, G., Schnabl, A.: Automated implicit computational complexity analysis. In: Proc. IJCAR ’08, LNAI 5195, pp. 132–138 (2008)
Avanzini, M., Moser, G.: Dependency pairs and polynomial path orders. In: Proc. RTA ’09, LNCS 5595, pp. 48–62 (2009)
Avanzini, M., Moser, G.: Closing the gap between runtime complexity and polytime computability. In: Proc. RTA ’10, LIPIcs 6, pp. 33–48 (2010)
Avanzini, M., Moser, G.: Complexity analysis by graph rewriting. In: Proc. FLOPS ’10, LNCS 6009, pp. 257–271 (2010)
Baader, F., Nipkow, T.: erm Rewriting and All That. Cambridge University Press (1998)
Bonfante, G., Cichon, A., Marion, J.-Y., Touzet, H.: Algorithms with polynomial interpretation termination proof. J. Funct. Program. 11(1), 33–53 (2001)
Brockschmidt, M., Musiol, R., Otto, C., Giesl, J.: Automated termination proofs for Java programs with cyclic data. In: Proc. CAV ’12, LNCS, pp. 105–122 (2012)
Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. J. Autom. Reason. 40(2–3), 195–220 (2008)
Geser, A., Hofbauer, D., Waldmann, J., Zantema, H.: On tree automata that certify termination of left-linear term rewriting systems. Inf. Comput. 205(4), 512–534 (2007)
Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: Combining techniques for automated termination proofs. In: Proc. LPAR ’04, LNAI 3452, pp. 301–331 (2005)
Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)
Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S., Thiemann, R.: Automated termination proofs for Haskell by term rewriting. ACM Trans. Program. Lang. Syst. 33(2), 7:1–7:39(2011)
Giesl, J., Ströder, T., Schneider-Kamp, P., Emmes, F., Fuhs, C.: Symbolic evaluation graphs and term rewriting – A general methodology for analyzing logic programs. In: Proc. PPDP ’12, pp. 1–12. ACM Press (2012)
Givan, R., McAllester, D.A.: Polynomial-time computation via local inference relations. ACM Trans. Comput. Log. 3(4), 521–541 (2002)
Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inf. Comput. 199(1,2), 172–199 (2005)
Hirokawa, N., Moser, G.: Automated complexity analysis based on the dependency pair method. In: Proc. IJCAR ’08, LNAI 5195, pp. 364–379 (2008)
Hirokawa, N., Moser, G.: Complexity, graphs, and the dependency pair method. In: Proc. LPAR ’08, LNAI 5330, pp. 652–666 (2008)
Hirokawa, N., Moser, G.: Automated complexity analysis based on the dependency pair method. CoRR http://arxiv.org/abs/1102.3129 (2011)
Hofbauer, D., Lautemann, C.: Termination proofs and the length of derivations. In: Proc. RTA ’89, LNCS 355, pp. 167–177 (1989)
Hofmann, M.: Linear types and non-size-increasing polynomial time computation. In: Proc. LICS ’99, pp. 464–473. IEEE Press (1999)
Koprowski, A., Waldmann, J.: Max/plus tree automata for termination of term rewriting. Acta Cybern. 19(2), 357–392 (2009)
Marion, J.-Y., Péchoux, R.: Characterizations of polynomial complexity classes with a better intensionality. In: Proc. PPDP ’08, pp. 79–88. ACM Press (2008)
Moser, G., Schnabl, A., Waldmann, J.: Complexity analysis of term rewriting based on matrix and context dependent interpretations. In: Proc. FSTTCS ’08, LIPIcs 2, pp. 304–315 (2008)
Moser, G.: Personal Communication (2010)
Neurauter, F., Zankl, H., Middeldorp, A.: Revisiting matrix interpretations for polynomial derivational complexity of term rewriting. In: Proc. LPAR ’10, LNAI 6397, pp. 550–564 (2010)
Noschinski, L., Emmes, F., Giesl, J.: A dependency pair framework for innermost complexity analysis of term rewrite systems. In: Proc. CADE ’11, LNAI 6803, pp. 422–438 (2011)
Otto, C., Brockschmidt, M., von Essen, C., Giesl, J.: Automated termination analysis of Java Bytecode by term rewriting. In: Proc. RTA ’10, LIPIcs 6, pp. 259–276 (2010)
Waldmann, J.: Polynomially bounded matrix interpretations. In: Proc. RTA ’10, LIPIcs 6, pp. 357–372 (2010)
Zankl, H., Korp, M.: Modular complexity analysis via relative complexity. In: Proc. RTA ’10, LIPIcs 6, pp. 385–400 (2010)
Author information
Authors and Affiliations
Corresponding author
Additional information
Supported by the DFG grant GI 274/5-3.
Rights and permissions
About this article
Cite this article
Noschinski, L., Emmes, F. & Giesl, J. Analyzing Innermost Runtime Complexity of Term Rewriting by Dependency Pairs. J Autom Reasoning 51, 27–56 (2013). https://doi.org/10.1007/s10817-013-9277-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-013-9277-6