Resource Analysis by Sup-interpretation

  • Jean-Yves Marion
  • Romain Péchoux
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3945)


We propose a new method to control memory resources by static analysis. For this, we introduce the notion of sup-interpretation which bounds from above the size of function outputs. We establish a criteria for which the stack frame size is polynomially bounded. The criteria analyses terminating as well as non-terminating programs. This method applies to first order functional programming with pattern matching. This work is related to quasi-interpretations but we are now able to determine resources of different algorithms and it is easier to perform an analysis with this new tools.


Function Symbol Recursive Call Full Paper Partial Assignment Resource Analysis 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Amadio, R.: Max-plus quasi-interpretations. In: Hofmann, M.O. (ed.) TLCA 2003. LNCS, vol. 2701, pp. 31–45. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. 2.
    Amadio, R., Coupet-Grimal, S., Dal-Zilio, S., Jakubiec, L.: A functional scenario for bytecode verification of resource bounds. In: Marcinkowski, J., Tarlecki, A. (eds.) CSL 2004. LNCS, vol. 3210, pp. 265–279. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Amadio, R., Zilio, S.D.: Resource control for synchronous cooperative threads. Research Report LIFGoogle Scholar
  4. 4.
    Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theoretical Computer Science 236, 133–178 (2000)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Aspinall, D., Compagnoni, A.: Heap bounded assembly language. Journal of Automated Reasoning (Special Issue on Proof-Carrying Code) 31, 261–302 (2003)CrossRefMATHGoogle Scholar
  6. 6.
    Benzinger, R.: Automated higher-order complexity analysis. Theoretical Computer Science 318(1-2), 79–103 (2004)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Blum, M.: A machine-independent theory of the complexity of recursive functions. Journal of the Association for Computing Machinery 14, 322–336 (1967)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Bonfante, G., Cichon, A., Marion, J.-Y., Touzet, H.: Algorithms with polynomial interpretation termination proof. Journal of Functional Programming 11(1), 33–53 (2001)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Bonfante, G., Moyen, J.-Y., Marion, J.-Y., Péchoux, R.: Synthesis of quasiinterpretations. In: Workshop on Logic and Complexity in Computer Science, LCC 2005, Chicago (2005), http://www.loria/~pechoux
  10. 10.
    Bonfante, G., Marion, J.-Y., Moyen, J.-Y.: On lexicographic termination ordering with space bound certifications. In: Bjørner, D., Broy, M., Zamulin, A.V. (eds.) PSI 2001. LNCS, vol. 2244, p. 482. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Bonfante, G., Marion, J.-Y., Moyen, J.-Y.: Quasi-interpretation a way to control resources. Submitted to Theoretical Computer Science (2005),
  12. 12.
    Debray, S.K., Lin, N.W.: Cost analysis of logic programs. ACM Transactions on Programming Languages and Systems 15(5), 826–875 (1993)CrossRefGoogle Scholar
  13. 13.
    Dershowitz, N.: Termination of rewriting. Journal of Symbolic Computation, 69–115 (1987)Google Scholar
  14. 14.
    Frankau, S.G., Mycroft, A.: Stream processing hardware from functional language specifications. In: Hofmann, M. (ed.) 36th Hawai’i International Conference on System Sciences (HICSS 36). IEEE, Los Alamitos (2003)Google Scholar
  15. 15.
    Hofmann, M.: Linear types and non-size-increasing polynomial time computation. In: Proceedings of the Fourteenth IEEE Symposium on Logic in Computer Science (LICS 1999), pp. 464–473 (1999)Google Scholar
  16. 16.
    Hofmann, M.: A type system for bounded space and functional in-place update. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol. 1782, pp. 165–179. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  17. 17.
    Hugh, A., Khoo, S.C.: Affined-based size-change termination. In: Ohori, A. (ed.) APLAS 2003. LNCS, vol. 2895, pp. 122–140. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  18. 18.
    Lankford, D.S.: On proving term rewriting systems are noetherien. Technical report (1979)Google Scholar
  19. 19.
    Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. In: Symposium on Principles of Programming Languages, vol. 28, pp. 81–92. ACM Press, New York (2001)Google Scholar
  20. 20.
    Lucas, S.: Polynomials over the reals in proofs of termination: from theory to practice. RAIRO Theoretical Informatics and Applications 39(3), 547–586 (2005)MathSciNetCrossRefMATHGoogle Scholar
  21. 21.
    Marion, J.-Y., Moyen, J.-Y.: Efficient first order functional program interpreter with time bound certifications. In: Parigot, M., Voronkov, A. (eds.) LPAR 2000. LNCS (LNAI), vol. 1955, pp. 25–42. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  22. 22.
    Regehr, J.: Say no to stack overflow (2004),
  23. 23.
    Thiemann, R., Giesl, J.: Size-change termination for term rewriting. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jean-Yves Marion
    • 1
    • 2
  • Romain Péchoux
    • 1
    • 2
  1. 1.Loria, Calligramme projectVandœuvre-lès-NancyFrance
  2. 2.École Nationale Supérieure des Mines de Nancy, INPLFrance

Personalised recommendations