## Eekelen. Polynomial size analysis of first-order functions (2007)

Citations: | 20 - 11 self |

### BibTeX

@TECHREPORT{Shkaravska07eekelen.polynomial,

author = {Olha Shkaravska and Ron Van Kesteren and Marko Van Eekelen},

title = {Eekelen. Polynomial size analysis of first-order functions},

institution = {},

year = {2007}

}

### OpenURL

### Abstract

Abstract. We present a size-aware type system for first-order shapely function definitions. Here, a function definition is called shapely when the size of the result is determined exactly by a polynomial in the sizes of the arguments. Examples of shapely function definitions may be matrix multiplication and the Cartesian product of two lists. The type checking problem for the type system is shown to be undecidable in general. We define a natural syntactic restriction such that the type checking becomes decidable, even though size polynomials are not necessarily linear or monotonic. Furthermore, a method that infers polynomial size dependencies for a non-trivial class of function definitions is suggested. 1

### Citations

143 | Static prediction of heap space usage for first-order functional programs
- Hofmann, Jost
(Show Context)
Citation Context ...d Heap Space Usage Analysis (AHA), grantnr. 612.063.511.swhere pairs(x, y) = match y with | nil ⇒ nil | cons(hd, tl) ⇒ cons(cons(x, hd, nil), pairs(x, tl)) Given two lists, for instance [1, 2, 3] and =-=[4, 5]-=-, it returns the list with all pairs created by taking one element from the first list and one element from the second list: [[1, 4], [1, 5], [2, 4], [2, 5], [3, 4], [3, 5]]. Hence, given two lists of... |

42 | Uniqueness Typing for Functional Languages with Graph Rewriting Semantics
- Barendsen, Smetsers
- 1996
(Show Context)
Citation Context ...oject Amortized Heap Space Usage Analysis (AHA), grantnr. 612.063.511.swhere pairs(x, y) = match y with | nil ⇒ nil | cons(hd, tl) ⇒ cons(cons(x, hd, nil), pairs(x, tl)) Given two lists, for instance =-=[1, 2, 3]-=- and [4, 5], it returns the list with all pairs created by taking one element from the first list and one element from the second list: [[1, 4], [1, 5], [2, 4], [2, 5], [3, 4], [3, 5]]. Hence, given t... |

27 | Inferring Cost Equations for Recursive, Polymorphic and Higher-Order Functional Programs
- Vasconcelos, Hammond
(Show Context)
Citation Context ...in a recurrent form may be derived via program analysis and transformation, as in the work of Herrmann and Lengauer [6], or through a type inference procedure, as presented by Vasconcelos and Hammond =-=[12]-=-. Both results can be applied to non-shapely functions, higherorder functions and non-linear size expressions. However, solving the recurrence equations to obtain a closed-form solution is left as an ... |

22 | Vandermonde determinants and Lagrange interpolation in R s
- Chui, Lai
- 1988
(Show Context)
Citation Context ...d Heap Space Usage Analysis (AHA), grantnr. 612.063.511.swhere pairs(x, y) = match y with | nil ⇒ nil | cons(hd, tl) ⇒ cons(cons(x, hd, nil), pairs(x, tl)) Given two lists, for instance [1, 2, 3] and =-=[4, 5]-=-, it returns the list with all pairs created by taking one element from the first list and one element from the second list: [[1, 4], [1, 5], [2, 4], [2, 5], [3, 4], [3, 5]]. Hence, given two lists of... |

21 | Shape checking of array programs
- Jay, Sekanina
- 1997
(Show Context)
Citation Context ...gments [3]. The analysis of (exact) input-output size dependencies of functions itself has been explored in a series of work. Some interesting work on shape analysis has been done by Jay and Sekanina =-=[7]-=-. In this work, a shapely program expression is translated into a corresponding abstract program expression over sizes. Thus, the dependency of the result size on the argument sizes has the form of a ... |

19 |
Proof of recursive unsolvability of Hilbert’s tenth problem
- Jones, Matijasevič
- 1991
(Show Context)
Citation Context ...g is reduced to Hilbert’s tenth problem: whethersthere exists a general procedure that given a polynomial with integer coefficients decides if this polynomial has natural roots or not. 2 Matiyasevich =-=[10]-=- has shown that such a procedure does not exist. This means that type checking, in the general case, is undecidable as well. We show that type checking is reducible to a procedure of checking if arbit... |

16 | Size and access inference for data-parallel programs
- Chatterjee, Blelloch, et al.
- 1991
(Show Context)
Citation Context ...oject Amortized Heap Space Usage Analysis (AHA), grantnr. 612.063.511.swhere pairs(x, y) = match y with | nil ⇒ nil | cons(hd, tl) ⇒ cons(cons(x, hd, nil), pairs(x, tl)) Given two lists, for instance =-=[1, 2, 3]-=- and [4, 5], it returns the list with all pairs created by taking one element from the first list and one element from the second list: [[1, 4], [1, 5], [2, 4], [2, 5], [3, 4], [3, 5]]. Hence, given t... |

6 |
Birkhoff Interpolation
- Lorenz, Jetter, et al.
- 1983
(Show Context)
Citation Context ...ons, where the unknowns are the coefficients of the polynomial. When (the sizes of the data-structures in) the set of input data satisfies some criteria known from the polynomial interpolation theory =-=[4, 9]-=-, the system has a unique solution. Input sizes that satisfy these criteria, which are nontrivial for multivariate polynomials, can be determined algorithmically. The interpolation theory used in the ... |

5 | A transformational approach which combines size inference and program optimization
- Herrmann, Lengauer
(Show Context)
Citation Context ...unction from it is beyond the scope of their work. Functional dependencies of sizes in a recurrent form may be derived via program analysis and transformation, as in the work of Herrmann and Lengauer =-=[6]-=-, or through a type inference procedure, as presented by Vasconcelos and Hammond [12]. Both results can be applied to non-shapely functions, higherorder functions and non-linear size expressions. Howe... |

2 |
Sized Types. Dissertation for the Licentiate Degree in Computing
- Pareto
- 1998
(Show Context)
Citation Context ...monotonic bounds are studied. To our knowledge, the only work yielding closed-form solutions for size dependencies is limited to monotonic dependencies. For instance, in the well-knownswork of Pareto =-=[8]-=-, where non-strict sized types are used to prove termination, monotonic linear upper bounds are inferred. There linearity is a sufficient condition for the type checking procedure to be decidable.In t... |

1 |
Moyen J.-Y.: Quasi-interpretations, a way to control resources
- Bonfante, Marion
(Show Context)
Citation Context ...oject Amortized Heap Space Usage Analysis (AHA), grantnr. 612.063.511.swhere pairs(x, y) = match y with | nil ⇒ nil | cons(hd, tl) ⇒ cons(cons(x, hd, nil), pairs(x, tl)) Given two lists, for instance =-=[1, 2, 3]-=- and [4, 5], it returns the list with all pairs created by taking one element from the first list and one element from the second list: [[1, 4], [1, 5], [2, 4], [2, 5], [3, 4], [3, 5]]. Hence, given t... |