Inference rules for generic code migration of aspect-oriented programs

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 an...

Full description

Bibliographic Details
Main Author: Rubbo, Fernando Barden
Other Authors: Nunes, Daltro Jose
Format: Others
Language:English
Published: 2010
Subjects:
Online Access:http://hdl.handle.net/10183/18250
id ndltd-IBICT-oai-lume.ufrgs.br-10183-18250
record_format oai_dc
spelling ndltd-IBICT-oai-lume.ufrgs.br-10183-182502018-10-21T16:54:53Z Inference rules for generic code migration of aspect-oriented programs Rubbo, Fernando Barden Nunes, Daltro Jose Programação Java (Linguagem de programação) Refatoração Software orientado : Objetos Generics Refactoring Aspect-oriented 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 unsafe downcasts as possible without a ecting the original semantics of the program. Therefore, tools are essential to minimize the e ort 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. 2010-01-09T04:14:42Z 2009 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://hdl.handle.net/10183/18250 000727461 eng info:eu-repo/semantics/openAccess application/pdf reponame:Biblioteca Digital de Teses e Dissertações da UFRGS instname:Universidade Federal do Rio Grande do Sul instacron:UFRGS
collection NDLTD
language English
format Others
sources NDLTD
topic Programação
Java (Linguagem de programação)
Refatoração
Software orientado : Objetos
Generics
Refactoring
Aspect-oriented
spellingShingle Programação
Java (Linguagem de programação)
Refatoração
Software orientado : Objetos
Generics
Refactoring
Aspect-oriented
Rubbo, Fernando Barden
Inference rules for generic code migration of aspect-oriented programs
description 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 unsafe downcasts as possible without a ecting the original semantics of the program. Therefore, tools are essential to minimize the e ort 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.
author2 Nunes, Daltro Jose
author_facet Nunes, Daltro Jose
Rubbo, Fernando Barden
author Rubbo, Fernando Barden
author_sort Rubbo, Fernando Barden
title Inference rules for generic code migration of aspect-oriented programs
title_short Inference rules for generic code migration of aspect-oriented programs
title_full Inference rules for generic code migration of aspect-oriented programs
title_fullStr Inference rules for generic code migration of aspect-oriented programs
title_full_unstemmed Inference rules for generic code migration of aspect-oriented programs
title_sort inference rules for generic code migration of aspect-oriented programs
publishDate 2010
url http://hdl.handle.net/10183/18250
work_keys_str_mv AT rubbofernandobarden inferencerulesforgenericcodemigrationofaspectorientedprograms
_version_ 1718778859975868416