Inference rules for generic code migration of aspect-oriented programs
Autor(a) principal: | |
---|---|
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 |