Português English
Contato
Publicado em: 17/11/2009

Defesa de Dissertação de Mestrado em Engenharia de Software, dia 18/11, de Fernando Barden Rubbo

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL
INSTITUTO DE INFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO


DEFESA DE DISSERTAÇÃO DE MESTRADO


Aluno: Fernando Barden Rubbo

Orientador: Prof. Dr. Daltro José Nunes

Título: Inference Rules for Generic Code Migration of Aspect-Oriented Programs
Área de pesquisa: Engenharia de software / Linguagem de programação

Data: 18/11/2009

Hora: 10h30

Local:  SALA DOS CONSELHOS, 220, prédio 43412

Prédio 43.412 (ADM)

Banca Examinadora:

Profa. Dra.Rosana Teresinha Vaccare Braga
Prof. Dr.Àlvaro Freitas Moreira
Prof. Dr.Lúcio Mauro Duarte

Presidente da Banca: Prof. Dr. Daltro José Nunes

Resumo:

The latest versions of AspectJ — the most popular aspect oriented extension for Java — must cope with complex changes that occurred in the Java type system, specially with the parametric polymorphism which aims to improve the type safety and the readability of the source code.

However, for legacy and non-generic constructions to take advantage of this pervasive feature, they must be migrated to explicitly supply actual type parameters in both declarations and instantiations of generic classes.
Even though the type systems of Java and AspectJ were designed to support this kind of migration in a gradual way, this process is somewhat complex and error prone. The reason behind this assertion is that actual type parameters must be inferred to remove as much insecure downcasts as possible without affecting the original semantics of the program. Therefore, tools are indispensable to minimize the effort of a manual application of the refactoring steps and to prevent the introduction of new errors. Since current automated solutions focus only on Java programs, they do not consider the use of aspects to encapsulate crosscutting concerns. Thus, this dissertation proposes a novel collection of inference rules to derive type constraints for the polymorphic version of AspectJ. These rules were used together with an existing generic migration algorithm to enable the conversion of non-generic legacy code to add actual type parameters in both Java and AspectJ languages.

Palavras chaves: generics, refactoring, aspect-oriented