Thesis-TM.pdf (13.63 MB)

Modular Reasoning in Aspect-Oriented Languages

Download (0 kB)
posted on 13.10.2014 by Tim Molderez

This PhD thesis presents an approach that enables modular reasoning in aspect-oriented programming languages.



Chapter 2 - The syntax and semantics of ContractAJ, a minimal aspect-oriented language with support for contracts.

Chapter 3 - A two-part approach to enable modular reasoning in ContractAJ: First, if the advice substitution principle is satisfied, obliviousness can be preserved without causing surprising behaviour. Second, if it is necessary to become aware of an advice, a simple specification clause can be used to restore modular reasoning.

Chapter 4 - Static and dynamic contract enforcement tools to ensure our approach to modular reasoning is used correctly.

Chapter 5 - A compositional may/must analysis to infer frame conditions, which describe which variables will remain unchanged in a method/advice. This analysis is used to study existing AspectJ applications to determine how often advice modify more variables than allowed by modular reasoning.