TcT: Tyrolean Complexity Tool

  • Martin Avanzini
  • Georg Moser
  • Michael SchaperEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9636)


In this paper we present Open image in new window v3.0, the latest version of our fully automated complexity analyser. Open image in new window implements our framework for automated complexity analysis and focuses on extensibility and automation. Open image in new window is open with respect to the input problem under investigation and the resource metric in question. It is the most powerful tool in the realm of automated complexity analysis of term rewrite systems. Moreover it provides an expressive problem-independent strategy language that facilitates proof search. We give insights about design choices, the implementation of the framework and report different case studies where we have applied Open image in new window successfully.


  1. 1.
    Albert, E., Arenas, P., Genaim, S., Puebla, G., Román-Díez, G.: Conditional termination of loops over heap-allocated data. SCP 92, 2–24 (2014)Google Scholar
  2. 2.
    Aspinall, D., Beringer, L., Hofmann, M., Loidl, H.W., Momigliano, A.: A program logic for resources. TCS 389(3), 411–445 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Atkey, R.: Amortised resource analysis with separation logic. LMCS 7(2), 1–33 (2011)MathSciNetzbMATHGoogle Scholar
  4. 4.
    Avanzini, M., Dal Lago, U., Moser, G.: Analysing the complexity of functional programs: higher-order meets first-order. In: Proceeding of the 20th ICFP, pp. 152–164. ACM (2015)Google Scholar
  5. 5.
    Avanzini, M., Moser, G.: Tyrolean complexity tool: features and usage. In: Proceeding of the 24th RTA, LIPIcs, vol. 21, pp. 71–80 (2013)Google Scholar
  6. 6.
    Avanzini, M., Moser, G.: A combination framework for complexity. IC (to appear, 2016)Google Scholar
  7. 7.
    Avanzini, M., Sternagel, C., Thiemann, R.: Certification of complexity proofs using CeTA. In: Proceeding of the 26th RTA, LIPIcs, vol. 36, pp. 23–39 (2015)Google Scholar
  8. 8.
    Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)CrossRefzbMATHGoogle Scholar
  9. 9.
    Bird, R.: Introduction to Functional Programming using Haskell, 2nd edn. Prentice Hall, Upper Saddle River (1998)Google Scholar
  10. 10.
    Brockschmidt, M., Emmes, F., Falke, S., Fuhs, C., Giesl, J.: Alternating runtime and size complexity analysis of integer programs. In: Ábrahám, E., Havelund, K. (eds.) TACAS 2014 (ETAPS). LNCS, vol. 8413, pp. 140–155. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  11. 11.
    Danner, N., Paykin, J., Royer, J.S.: A static cost analysis for a higher-order language. In: Proceeding of the 7th PLPV, pp. 25–34. ACM (2013)Google Scholar
  12. 12.
    Gimenez, S., Moser, G.: The complexity of interaction. In: Proceeding of the 40th POPL (to appear, 2016)Google Scholar
  13. 13.
    Hirokawa, N., Moser, G.: Automated complexity analysis based on the dependency pair method. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 364–379. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Hoffmann, J., Aehlig, K., Hofmann, M.: Multivariate amortized resource analysis. TOPLAS 34(3), 14 (2012)CrossRefzbMATHGoogle Scholar
  15. 15.
    Hofmann, M., Moser, G.: Multivariate amortised resource analysis for term rewrite systems. In: Proceeding of the 13th TLCA in LIPIcs Vol. 38, pp. 241–256 (2015)Google Scholar
  16. 16.
    Jost, S., Hammond, K., Loidl, H.W., Hofmann, M.: Static determination of quantitative resource usage for higher-order programs. In: Proceeding of the 37th POPL, pp. 223–236. ACM (2010)Google Scholar
  17. 17.
    Klein, G., Nipkow, T.: A machine-checked model for a java-like language, virtual machine, and compiler. TOPLAS 28(4), 619–695 (2006)CrossRefGoogle Scholar
  18. 18.
    Lankford, D.: On Proving Term Rewriting Systems are Noetherian. Technical Report MTP-3. Louisiana Technical University (1979)Google Scholar
  19. 19.
    Moser, G.: Proof Theory at Work: Complexity Analysis of Term Rewrite Systems. CoRR abs/0907.5527, Habilitation Thesis (2009)Google Scholar
  20. 20.
    Moser, G., Schaper, M.: A Complexity Preserving Transformation from Jinja Bytecode to Rewrite Systems (2012). CoRR, cs/PL/1204.1568, last revision: 6 May 2014Google Scholar
  21. 21.
    Noschinski, L., Emmes, F., Giesl, J.: Analyzing innermost runtime complexity of term rewriting by dependency pairs. JAR 51(1), 27–56 (2013)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Hill, P.M., Payet, E., Spoto, F.: Path-length analysis of object-oriented programs. In: Proceeding of the 1st EAAI. Elsevier (2006)Google Scholar
  23. 23.
    Plotkin, G.D.: LCF considered as a programming language. TCS 5(3), 223–255 (1977)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Reynolds, J.C.: Definitional interpreters for higher-order programming languages. HOSC 11(4), 363–397 (1998)zbMATHGoogle Scholar
  25. 25.
    Sinn, M., Zuleger, F., Veith, H.: A simple and scalable static analysis for bound analysis and amortized complexity analysis. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 745–761. Springer, Heidelberg (2014)Google Scholar
  26. 26.
    TeReSe: Term Rewriting Systems, Cambridge Tracks in Theoretical Computer Science, vol. 55. Cambridge University Press, Cambridge (2003)Google Scholar
  27. 27.
    Wilhelm, R., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenstrom, P.: The worst case execution time problem - overview of methods and survey of tools. TECS 7(3), 1–53 (2008)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Martin Avanzini
    • 1
    • 2
  • Georg Moser
    • 3
  • Michael Schaper
    • 3
    Email author
  1. 1.Università di BolognaBolognaItaly
  2. 2.INRIASophia AntipolisFrance
  3. 3.Department of Computer ScienceUniversity of InnsbruckInnsbruckAustria

Personalised recommendations