The continuous need for more ambitious, more complex, and more dependable software systems demands mechanisms to modularize such systems and reason about their correctness. The reasoning process is affected by the programming language's features, like dynamic dispatching, implicit invocation and oblivious aspect weaving, and by how the programmer uses them. In this paper, by devising a unifying formal setting, we show how reasoning varies with the different language mechanisms, and provide sound rules for reasoning about programs that use these features. While analyzing these mechanisms we explore the main compromises or tradeoffs that led to them and explain the disciplines they impose and the strength of the reasoning conclusions one can ...
Object-oriented languages typically use late binding for procedure calls on objects. This raises a p...
Programming languages and formal notations are central to computer science. A significant part of c...
Abstract—In current aspect-oriented systems, aspects usually carry, through their pointcuts, explici...
The continuous need for more ambitious, more complex, and more dependable software systems demands m...
To reason about a program means to state or conclude, by logical means, some properties the program ...
textComplex systems are naturally understood as combinations of their distinguishing characteristics...
This paper proposes a modular proof system based on uninterpreted predicates. The proposed proof sys...
The obliviousness property of AspectJ-like languages conflicts with the ability to reason about prog...
<p>This PhD defense presentation presents a two-part approach that enables modular reasoning in aspe...
Advice in aspect-oriented programming helps programmers modularize crosscutting concerns by allowing...
The amazing complexity of today's programming calls for a new engineering approach to build robust s...
<p>Aspect-oriented programming aims to separate crosscutting concerns into their own modules, called...
The obliviousness property of AspectJ conflicts with the ability to reason about an AspectJ program ...
<p>This presentation gives an overview of my PhD research; its main goal is to provide an approach t...
Object-oriented languages typically use late binding for procedure calls on objects. This raises a p...
Object-oriented languages typically use late binding for procedure calls on objects. This raises a p...
Programming languages and formal notations are central to computer science. A significant part of c...
Abstract—In current aspect-oriented systems, aspects usually carry, through their pointcuts, explici...
The continuous need for more ambitious, more complex, and more dependable software systems demands m...
To reason about a program means to state or conclude, by logical means, some properties the program ...
textComplex systems are naturally understood as combinations of their distinguishing characteristics...
This paper proposes a modular proof system based on uninterpreted predicates. The proposed proof sys...
The obliviousness property of AspectJ-like languages conflicts with the ability to reason about prog...
<p>This PhD defense presentation presents a two-part approach that enables modular reasoning in aspe...
Advice in aspect-oriented programming helps programmers modularize crosscutting concerns by allowing...
The amazing complexity of today's programming calls for a new engineering approach to build robust s...
<p>Aspect-oriented programming aims to separate crosscutting concerns into their own modules, called...
The obliviousness property of AspectJ conflicts with the ability to reason about an AspectJ program ...
<p>This presentation gives an overview of my PhD research; its main goal is to provide an approach t...
Object-oriented languages typically use late binding for procedure calls on objects. This raises a p...
Object-oriented languages typically use late binding for procedure calls on objects. This raises a p...
Programming languages and formal notations are central to computer science. A significant part of c...
Abstract—In current aspect-oriented systems, aspects usually carry, through their pointcuts, explici...