Inference rules for generic code migration of aspect-oriented programs

Detalhes bibliográficos
Autor(a) principal: Rubbo, Fernando Barden
Data de Publicação: 2009
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/18250
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 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.
id URGS_f9b7460522b6a50762d9350b55bc115d
oai_identifier_str oai:www.lume.ufrgs.br:10183/18250
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Rubbo, Fernando BardenNunes, Daltro Jose2010-01-09T04:14:42Z2009http://hdl.handle.net/10183/18250000727461The 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.application/pdfengProgramaçãoJava (Linguagem de programação)RefatoraçãoSoftware orientado : ObjetosGenericsRefactoringAspect-orientedInference rules for generic code migration of aspect-oriented programsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2009mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000727461.pdf000727461.pdfTexto completo (inglês)application/pdf931974http://www.lume.ufrgs.br/bitstream/10183/18250/1/000727461.pdffce28f8638f9499f41c1089a9b1f83ccMD51TEXT000727461.pdf.txt000727461.pdf.txtExtracted Texttext/plain28796http://www.lume.ufrgs.br/bitstream/10183/18250/2/000727461.pdf.txt4a22b7c0b5e87c67a3311b978e5d1ac2MD52THUMBNAIL000727461.pdf.jpg000727461.pdf.jpgGenerated Thumbnailimage/jpeg988http://www.lume.ufrgs.br/bitstream/10183/18250/3/000727461.pdf.jpgfe2b6d235a52bbd9edcfd0f28caaef3cMD5310183/182502021-05-26 04:31:15.632907oai:www.lume.ufrgs.br:10183/18250Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532021-05-26T07:31:15Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Inference rules for generic code migration of aspect-oriented programs
title Inference rules for generic code migration of aspect-oriented programs
spellingShingle Inference rules for generic code migration of aspect-oriented programs
Rubbo, Fernando Barden
Programação
Java (Linguagem de programação)
Refatoração
Software orientado : Objetos
Generics
Refactoring
Aspect-oriented
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
author Rubbo, Fernando Barden
author_facet Rubbo, Fernando Barden
author_role author
dc.contributor.author.fl_str_mv Rubbo, Fernando Barden
dc.contributor.advisor1.fl_str_mv Nunes, Daltro Jose
contributor_str_mv Nunes, Daltro Jose
dc.subject.por.fl_str_mv Programação
Java (Linguagem de programação)
Refatoração
Software orientado : Objetos
topic Programação
Java (Linguagem de programação)
Refatoração
Software orientado : Objetos
Generics
Refactoring
Aspect-oriented
dc.subject.eng.fl_str_mv Generics
Refactoring
Aspect-oriented
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.
publishDate 2009
dc.date.issued.fl_str_mv 2009
dc.date.accessioned.fl_str_mv 2010-01-09T04:14:42Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/18250
dc.identifier.nrb.pt_BR.fl_str_mv 000727461
url http://hdl.handle.net/10183/18250
identifier_str_mv 000727461
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Biblioteca Digital de Teses e Dissertações da UFRGS
collection Biblioteca Digital de Teses e Dissertações da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/18250/1/000727461.pdf
http://www.lume.ufrgs.br/bitstream/10183/18250/2/000727461.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/18250/3/000727461.pdf.jpg
bitstream.checksum.fl_str_mv fce28f8638f9499f41c1089a9b1f83cc
4a22b7c0b5e87c67a3311b978e5d1ac2
fe2b6d235a52bbd9edcfd0f28caaef3c
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv lume@ufrgs.br||lume@ufrgs.br
_version_ 1810085162756603904