Quasi-interpretation Synthesis by Decomposition

Quasi-interpretation analysis belongs to the field of implicit computational complexity (ICC) and has shown its interest to deal with resource analysis of first-order functional programs, which are terminating or not. In this paper, we tackle the issue of program decomposition wrt quasi-interpretations analysis. For that purpose, we use the notion of modularity. Firstly, modularity decreases the complexity of the quasi-interpretation search algorithms. Secondly, modularity increases the intentionality of the quasi-interpretation method, that is the number of captured programs. Finally, we take advantage of modularity conditions to extend smoothly quasi-interpretations to higher-order programs. We study the modularity of quasi-interpretations through the notions of constructor-sharing and hierarchical unions of programs. We show that, in both cases, the existence of quasi-interpretations is no longer a modular property. However, we can still certify the complexity of programs by showing, under some restrictions, that the size of the values computed by a program remains polynomially bounded by the inputs size.

[1]  Jean-Yves Marion,et al.  Quasi-interpretation: a way to control ressources , 2005 .

[2]  Silvano Dal-Zilio,et al.  Resource control for synchronous cooperative threads , 2006, Theor. Comput. Sci..

[3]  Paolo Coppola,et al.  Principal Typing for Lambda Calculus in Elementary Affine Logic , 2004, Fundam. Informaticae.

[4]  David Aspinall,et al.  Heap-Bounded Assembly Language , 2004, Journal of Automated Reasoning.

[5]  M. Hofmann A Type System for Bounded Space and Functional In-Place Update , 2000, Nord. J. Comput..

[6]  Guillaume Bonfante,et al.  Quasi-interpretations and Small Space Bounds , 2005, RTA.

[7]  Jean-Yves Marion,et al.  Efficient First Order Functional Program Interpreter with Time Bound Certifications , 2000, LPAR.

[8]  Gérard Boudol,et al.  ULM: A Core Programming Model for Global Computing: (Extended Abstract) , 2004, ESOP.

[9]  Kazushige Terui,et al.  A Feasible Algorithm for Typing in Elementary Affine Logic , 2005, TLCA.

[10]  Nachum Dershowitz,et al.  Orderings for term-rewriting systems , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[11]  M.R.K. Kr ishna Rao,et al.  Modular Proofs for Completeness of Hierarchical Term Rewriting Systems , 1995, Theor. Comput. Sci..

[12]  Wei-Ngan Chin,et al.  A higher-order removal method , 1996, LISP Symb. Comput..

[13]  Henning Wunderlich,et al.  Certifying Polynomial Time and Linear/Polynomial Space for Imperative Programs , 2006, SIAM J. Comput..

[14]  Philip Wadler,et al.  Deforestation: Transforming Programs to Eliminate Trees , 1990, Theor. Comput. Sci..

[15]  Jean-Yves Marion,et al.  Resource Analysis by Sup-interpretation , 2006, FLOPS.

[16]  Enno Ohlebusch,et al.  Advanced Topics in Term Rewriting , 2002, Springer New York.

[17]  Guillaume Bonfante,et al.  On Lexicographic Termination Ordering with Space Bound Certifications , 2001, Ershov Memorial Conference.

[18]  Bernhard Gramlich Generalized Sufficient Conditions for Modular Termination of Rewriting , 1992, ALP.

[19]  Benedikt Löwe,et al.  New Computational Paradigms , 2005 .

[20]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[21]  Yves Lafont,et al.  Soft linear logic and polynomial time , 2004, Theor. Comput. Sci..

[22]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[23]  Martin Hofmann,et al.  The strength of non-size increasing computation , 2002, POPL '02.

[24]  Gérard P. Huet,et al.  Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980, J. ACM.

[25]  Jean-Yves Girard,et al.  Light Linear Logic , 1998, Inf. Comput..

[26]  Vincent Danos,et al.  Reversible Communicating Systems , 2004, CONCUR.

[27]  Roberto M. Amadio,et al.  Max-Plus Quasi-interpretations , 2003, TLCA.

[28]  Manfred Broy,et al.  Perspectives of System Informatics , 2001, Lecture Notes in Computer Science.

[29]  Yoshihito Toyama,et al.  On the Church-Rosser property for the direct sum of term rewriting systems , 1984, JACM.

[30]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.

[31]  Neil D. Jones,et al.  The Flow of Data and the Complexity of Algorithms , 2005, CiE.

[32]  Jean-Yves Marion,et al.  Analysing the implicit complexity of programs , 2003, Inf. Comput..

[33]  Silvano Dal-Zilio,et al.  Resource Bound Certification for a Tail-Recursive Virtual Machine , 2005, APLAS.

[34]  Nachum Dershowitz,et al.  Conditional and Typed Rewriting Systems: 4th International Workshop, CTRS-94, Jerusalem, Israel, July 13 - 15, 1994. Proceedings , 1995 .

[35]  Sam Lindley,et al.  Extensional Rewriting with Sums , 2007, TLCA.

[36]  Silvano Dal-Zilio,et al.  A Functional Scenario for Bytecode Verification of Resource Bounds , 2004, CSL.

[37]  Neil D. Jones,et al.  Computability and complexity - from a programming perspective , 1997, Foundations of computing series.

[38]  Nachum Dershowitz Hierachical Termination , 1994, CTRS.

[39]  Alan Bundy,et al.  Proofs About Lists Using Ellipsis , 1999, LPAR.

[40]  J. Marion,et al.  Synthesis of Quasi-interpretations , 2005 .

[41]  John C. Reynolds,et al.  Definitional Interpreters for Higher-Order Programming Languages , 1972, ACM '72.

[42]  Gerard Huet,et al.  Conflunt reductions: Abstract properties and applications to term rewriting systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[43]  Yoshihito Toyama,et al.  Counterexamples to Termination for the Direct Sum of Term Rewriting Systems , 1987, Inf. Process. Lett..

[44]  Jean-Yves Marion,et al.  Heap-size analysis for assembly programs , 2006 .

[45]  Azuma Ohuchi,et al.  Modularity of Simple Termination of Term Rewriting Systems with Shared Constructors , 1992, Theor. Comput. Sci..

[46]  Nachum Dershowitz,et al.  Conditional and Typed Rewriting Systems , 1994, Lecture Notes in Computer Science.