Download: PDF.

“Practical Runtime Universe Type Inference” by Marco Bär. May 2006. Master's thesis.

Abstract

The Universe type system provides means to structure the heap memory into so-called Universes. This structuring makes it easier to reason about object structures on the heap by assigning all references an additional Universe type. These additional types specify the access rights of the holder of such a reference. In this work, we extended an existing Runtime Inference tool that infers Universe annotations for existing Java programs through runtime observation of a test case.

We have added the possibility to handle arrays and static methods. Furthermore, we developed a method body inference algorithm using abstract interpretation of the types on the method's operand stack and registers. The abstract interpretation is a static analysis that uses the results of the runtime inference as input. The tool is now able to infer types of local variables, new-statements, static method invocations, and it is able to insert Universe type casts where it is necessary.

To improve the code coverage of our Runtime Inference Tool, we have added the possibility to combine several test cases. The dynamic heap structure of the different test cases is globally harmonized and Universe annotations for the source code is inferred. The possibility to join several test cases increases the quality of the inferred annotations significantly.

Download: PDF.

BibTeX entry:

@unpublished{MBaer06,
   author = {Marco B{"a}r},
   title = {{Practical Runtime Universe Type Inference}},
   month = may,
   note = {Master's thesis}
}

Back to the student projects sorted by date or by category.


(This webpage was created with bibtex2web.)