A Type-Based Complexity Analysis of Object Oriented Programs

02/19/2018
by   Emmanuel Hainry, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/23/2021

A tier-based typed programming language characterizing Feasible Functionals

The class of Basic Feasible Functionals BFF_2 is the type-2 counterpart ...
research
10/07/2020

Type checking extracted methods

Many object-oriented dynamic languages allow programmers to extract meth...
research
08/31/2022

Complete and tractable machine-independent characterizations of second-order polytime

The class of Basic Feasible Functionals BFF is the second-order counterp...
research
02/12/2018

Certified Roundoff Error Bounds using Bernstein Expansions and Sparse Krivine-Stengle Representations

Floating point error is a drawback of embedded systems implementation th...
research
11/11/2019

A generic imperative language for polynomial time

We propose a generic imperative programming language STR that captures P...
research
05/18/2020

An Object Oriented Approach For the Protection of Information Systems

We provide a protection system making use of encapsulation, messages com...
research
07/27/2021

Papaya: Global Typestate Analysis of Aliased Objects Extended Version

Typestates are state machines used in object-oriented programming to spe...

Please sign up or login with your details

Forgot password? Click here to reset