Polynomial Size Analysis of First-Order Shapely Functions

@article{Shkaravska2009PolynomialSA,
  title={Polynomial Size Analysis of First-Order Shapely Functions},
  author={Olha Shkaravska and Marko C. J. D. van Eekelen and Ron van Kesteren},
  journal={Log. Methods Comput. Sci.},
  year={2009},
  volume={5}
}
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 implementations of matrix multiplication and the Cartesian product of two lists. The type system is proved to be sound w.r.t. the operational semantics of the language. The type checking problem is shown to be undecidable in… 

Figures from this paper

Size Calculus for a higher-order functional language

The authors present a lambda-calculus that formalizes the relations between the sizes of arguments and the sizes of the corresponding results of functions in a higher-order polymorphic functional

Higher-Order Size Checking without Subtyping

This work focuses on checking size annotations of higher-order polymorphic functional programs supporting nested lists. These annotations are in a lambda-calculus that formalize non-linear and

Collected Size Semantics for Strict Functional Programs over General Polymorphic Lists

This paper makes a big step forwards by overcoming a limitation via the introduction of higher-order size annotations such that variate sizes of inner data structures can be expressed in general, polymorphic nested lists.

Derivation and inference of higher-order strictness types

A Space Consumption Analysis by Abstract Interpretation

This paper presents a new analysis aimed at inferring upper bounds for heap and stack consumption in Safe, based on abstract interpretation, and explains the abstract domain and some correctness properties of the interpretation rules with respect to the language semantics.

Automating sized-type inference for complexity analysis

This paper introduces a new methodology for the complexity analysis of higher-order functional programs, which is based on three ingredients: a powerful type system for size analysis and a sound type

Analytic Tableaux for Higher-Order Logic with Choice

A cut-free ground tableau calculus for Church’s simple type theory with choice for higher-order automated theorem provers is presented and completeness of the tableAU calculus relative to Henkin models is proved.

Automating Sized Type Inference for Complexity Analysis (Technical Report)

This paper introduces a new methodology for the complexity analysis of higher-order functional programs, which is based on three ingredients: a powerful type system for size analysis and a sound type

Space consumption analysis by abstract interpretation: Reductivity properties

References

SHOWING 1-10 OF 36 REFERENCES

Polynomial Size Analysis of First-Order Functions

A natural syntactic restriction is defined such that the type checking becomes decidable, even though size polynomials are not necessarily linear or monotonic.

Size Analysis of Algebraic Data Types

A size-aware type system for a first-order functional language with algebraic data types, where types are annotated with polynomials over size variables is presented, shown to be sound with respect to the operational semantics in the class of shapely functions.

Inferring static non-monotonically sized types through testing

A size analysis algorithm that combines testing and type checking to automatically obtain static output-on-input size dependencies for first-order functions that is complete with respect to type checking is proposed.

Collected Size Semantics for Functional Programs over Lists

This work shows how, given a set of conditional rewriting rules, one can infer bounds that define an indexed family of polynomials that approximates the multivalued size function.

Collected Size Semantics for Functional Programs ?

This work shows how, given a set of conditional rewriting rules, one can infer bounds that define an indexed family of max0-polynomials that approximates the non-deterministic size dependency.

Shape Checking of Array Programs

A simply-typed lambda-calculus is constructed that supports a vector type constructor, whose iteration yields types of arrays, and is expressive enough to construct all of the usual linear algebra operations.

A logical account of pspace

This work proposes a characterization of PSPACE by means of atype assignment for an extension of lambda calculus with a conditional construction and introduces a call-by-name evaluation machine in order to compute programs in polynomial space.

A Transformational Approach which Combines Size Inference and Program Optimization

A calculus for the analysis of list lengths in functional programs, based on the syntactical structure of the program, which believes that analysis and parallelization work best if higher-order functions are used to compose the program from functional building blocks, so-called skeletons, instead of using unrestrained recursion.

Synthesis of max-plus quasi-interpretations

  • R. Amadio
  • Computer Science
    Fundam. Informaticae
  • 2005
It is proved that the synthesis of quasi-interpretations selected in the space of polynomials over the max-plus algebra is NP-hard under various conditions and in NP for the particular case of multi-linear quasi- interpretations when programs are specified by rules of bounded size.