*Result*: Type-based heap and stack space analysis in Java
*Further Information*
*A type system is introduced for a strict but expressive subset of Java in order to infer resource upper bounds on both the heap-space and the stack-space requirements of typed programs. This type system is inspired by previous works on Implicit Computational Complexity, using tiering and noninterference techniques. The presented methodology has several advantages. First, it provides explicit polynomial upper bounds to the programmer, hence its use could allow the programmer to avoid memory errors. Second, type checking is decidable in linear time. Last but not least, it has a good expressivity since it analyzes most object oriented features like overload, inheritance, override and can also handle statements that alter the control flow like break or return. In particular, it improves previous analyses on the complexity of OO and imperative programs since it can deal with loops guarded by objects. 1*