A Type-Based Complexity Analysis of Object Oriented Programs
Emmanuel Hainry (CARTE), Romain P\'echoux (CARTE)

TL;DR
This paper introduces a type system for object-oriented languages that infers resource bounds, ensuring polynomial time computability and bounded memory usage, while being expressive and decidable.
Contribution
It presents a novel type-based complexity analysis framework for object-oriented programs that guarantees polynomial resource bounds and supports key language features.
Findings
Programs have polynomial time computability.
Heap and stack space are polynomially bounded.
Type checking is decidable in polynomial time.
Abstract
A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence, the heap-space and thestack-space requirements of typed programs are also bounded polynomially. This type system is inspired by previous works on ImplicitComputational Complexity, using tiering and non-interference techniques. The presented methodology has several advantages. First, itprovides explicit big polynomial upper bounds to the programmer, hence its use could allow the programmer to avoid memory errors.Second, type checking is decidable in polynomial time. Last, it has a good expressivity since it analyzes most object oriented featureslike inheritance, overload, override and recursion. Moreover it can deal with loops guarded by objects and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
