arXiv · 1802.06653
A Type-Based Complexity Analysis of Object Oriented Programs
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 $O$ 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 can also be extended tostatements that alter the control flow like break or return.
Explore related subjects
Keep this discovery
Emmanuel Hainry, Romain Péchoux. 2018-02-19. A Type-Based Complexity Analysis of Object Oriented Programs. https://arxiv.org/abs/1802.06653
Cite the original work for its findings. Save a collection to share your selection of sources.