Upper Bounds on Stream I/O Using Semantic Interpretations

  • Marco Gaboardi
  • Romain Péchoux
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5771)


This paper extends for the first time semantic interpretation tools to infinite data in order to ensure Input/Output upper bounds on first order Haskell like programs on streams. By I/O upper bounds, we mean temporal relations between the number of reads performed on the input stream elements and the number of output elements produced. We study several I/O upper bounds properties that are of both theoretical and practical interest in order to avoid memory overflows.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Manna, Z., Ness, S.: On the termination of Markov algorithms. In: Third hawaii international conference on system science, pp. 789–792 (1970)Google Scholar
  2. 2.
    Lankford, D.: On proving term rewriting systems are noetherien. tech. rep (1979)Google Scholar
  3. 3.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: Proceedings of ACM POPL 1977, pp. 238–252 (1977)Google Scholar
  4. 4.
    Bonfante, G., Marion, J.Y., Moyen, J.Y.: Quasi-interpretations, a way to control resources. TCS (accepted)Google Scholar
  5. 5.
    Amadio, R.: Synthesis of max-plus quasi-interpretations. Fundamenta Informaticae 65(1-2) (2005)Google Scholar
  6. 6.
    Bonfante, G., Marion, J.Y., Moyen, J.Y., Péchoux, R.: Synthesis of quasi-interpretations. In: LCC 2005, LICS Workshop (2005), http://hal.inria.fr/
  7. 7.
    Marion, J.Y., Péchoux, R.: Sup-interpretations, a semantic method for static analysis of program resources. In: ACM TOCL 2009 (accepted, 2009), http://tocl.acm.org/
  8. 8.
    Marion, J.-Y., Péchoux, R.: A Characterization of NCk by First Order Functional Programs. In: Agrawal, M., Du, D.-Z., Duan, Z., Li, A. (eds.) TAMC 2008. LNCS, vol. 4978, pp. 136–147. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  9. 9.
    Bonfante, G., Kahle, R., Marion, J.-Y., Oitavem, I.: Recursion schemata for NC k. In: Kaminski, M., Martini, S. (eds.) CSL 2008. LNCS, vol. 5213, pp. 49–63. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Dijkstra, E.W.: On the productivity of recursive definitions. EWD749 (1980)Google Scholar
  11. 11.
    Sijtsma, B.: On the productivity of recursive list definitions. ACM TOPLAS 11(4), 633–649 (1989)CrossRefGoogle Scholar
  12. 12.
    Coquand, T.: Infinite objects in type theory. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 62–78. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  13. 13.
    Wadge, W.: An extensional treatment of dataflow deadlock. TCS 13, 3–15 (1981)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Endrullis, J., Grabmayer, C., Hendriks, D., Isihara, A., Klop, J.W.: Productivity of Stream Definitions. In: Csuhaj-Varjú, E., Ésik, Z. (eds.) FCT 2007. LNCS, vol. 4639, pp. 274–287. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Telford, A., Turner, D.: Ensuring streams flow. In: Johnson, M. (ed.) AMAST 1997. LNCS, vol. 1349, pp. 509–523. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  16. 16.
    Buchholz, W.: A term calculus for (co-) recursive definitions on streamlike data structures. Annals of Pure and Applied Logic 136(1-2), 75–90 (2005)MathSciNetCrossRefMATHGoogle Scholar
  17. 17.
    Hughes, J., Pareto, L., Sabry, A.: Proving the correctness of reactive systems using sized types. In: Proceedings of ACM POPL 1996, pp. 410–423 (1996)Google Scholar
  18. 18.
    Frankau, S., Mycroft, A.: Stream processing hardware from functional language specifications. In: Proceeding of IEEE HICSS-36 (2003)Google Scholar
  19. 19.
    Huet, G.: Confluent reductions: Abstract properties and applications to term rewriting systems. Journal of the ACM 27(4), 797–821 (1980)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    Launchbury, J.: A natural semantics for lazy evaluation. In: Proceedings of POPL 1993, pp. 144–154 (1993)Google Scholar
  21. 21.
    Dershowitz, N.: Orderings for term-rewriting systems. TCS 17(3), 279–301 (1982)MathSciNetCrossRefMATHGoogle Scholar
  22. 22.
    Marion, J.Y., Péchoux, R.: Characterizations of polynomial complexity classes with a better intensionality. In: Proceedings ACM PPDP 2008, pp. 79–88 (2008)Google Scholar
  23. 23.
    Bird, R., Wadler, P.: Introduction to Functional Programming. Prentice-Hall, Englewood Cliffs (1988)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Marco Gaboardi
    • 1
  • Romain Péchoux
    • 2
  1. 1.Dipartimento di InformaticaUniversità di TorinoItaly
  2. 2.Computer Science DepartmentTrinity CollegeDublin

Personalised recommendations