Improving the search for refactoring opportunities on object-oriented and aspect-oriented software
Autor(a) principal: | |
---|---|
Data de Publicação: | 2009 |
Tipo de documento: | Tese |
Idioma: | eng |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da UFRGS |
Texto Completo: | http://hdl.handle.net/10183/15651 |
Resumo: | Refatoração é o processo de melhorar o projeto de sistemas de software sem modificar seu comportamento externamente observável. O processo de refatoração pode auxiliar a incrementalmente melhorar a qualidade de software de um sistema através da aplicação de transformações que preservam comportamento chamadas de padrões de refatoração. O principal objetivo da pesquisa que esta tese descreve é prover um processo detalhado para refatoração, incluindo mecanismos para (i) seleção e criação de modelos de qualidade, padrões de refatoração e funções heurísticas, (ii) a busca e priorização de oportunidades de refatoração, (iii) a avaliação dos efeitos da refatoração na qualidade de software e (iv) a análise de vantagens e desvantagens e a aplicação de padrões de refatoração. Para exemplificar como os mecanismos propostos funcionam e como o processo pode ser usado, diferentes estudos de caso são usados ao longo da tese. A seleção dos padrões de refatoração, dos modelos de qualidade e das funções heurísticas são exemplificados para software orientado a objetos, bem como os mecanismos de busca e priorização. A avaliação dos efeitos da refatoração na qualidade de software, a análise de vantagens e desvantagens e a aplicação de padrões de refatoração são discutidos no contexto de programação orientada a aspectos. Além da definição de um processo de refatoração, um conjunto adicional de contribuições desta tese são: (i) a definição de uma abordagem para a seleção e ranking de padrões de refatoração baseada no AHP (Analytic Hierarchy Process), (ii) uma abordagem para reduzir o espaço de busca para oportunidades de refatoração ao manipular refatorações sucessivas, (iii) a definição de mecanismos de busca para oportunidades de refatoração, (iv) uma abordagem para avaliar os efeitos de refatoração na qualidade de software, (v) um catálogo de problemas encontrados em software orientado a aspectos e seus padrões de refatoração associados, e também um conjunto de recomendações para evitar estes problemas e (vi) um estudo de métricas orientadas a aspectos, incluindo a sua definição formal, avaliação analítica e interpretação de dados. |
id |
URGS_935d899ca2e77ce22b8391d9d199f6d7 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/15651 |
network_acronym_str |
URGS |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
repository_id_str |
1853 |
spelling |
Piveta, Eduardo KesslerPrice, Roberto TomPimenta, Marcelo Soares2009-04-25T04:12:49Z2009http://hdl.handle.net/10183/15651000688448Refatoração é o processo de melhorar o projeto de sistemas de software sem modificar seu comportamento externamente observável. O processo de refatoração pode auxiliar a incrementalmente melhorar a qualidade de software de um sistema através da aplicação de transformações que preservam comportamento chamadas de padrões de refatoração. O principal objetivo da pesquisa que esta tese descreve é prover um processo detalhado para refatoração, incluindo mecanismos para (i) seleção e criação de modelos de qualidade, padrões de refatoração e funções heurísticas, (ii) a busca e priorização de oportunidades de refatoração, (iii) a avaliação dos efeitos da refatoração na qualidade de software e (iv) a análise de vantagens e desvantagens e a aplicação de padrões de refatoração. Para exemplificar como os mecanismos propostos funcionam e como o processo pode ser usado, diferentes estudos de caso são usados ao longo da tese. A seleção dos padrões de refatoração, dos modelos de qualidade e das funções heurísticas são exemplificados para software orientado a objetos, bem como os mecanismos de busca e priorização. A avaliação dos efeitos da refatoração na qualidade de software, a análise de vantagens e desvantagens e a aplicação de padrões de refatoração são discutidos no contexto de programação orientada a aspectos. Além da definição de um processo de refatoração, um conjunto adicional de contribuições desta tese são: (i) a definição de uma abordagem para a seleção e ranking de padrões de refatoração baseada no AHP (Analytic Hierarchy Process), (ii) uma abordagem para reduzir o espaço de busca para oportunidades de refatoração ao manipular refatorações sucessivas, (iii) a definição de mecanismos de busca para oportunidades de refatoração, (iv) uma abordagem para avaliar os efeitos de refatoração na qualidade de software, (v) um catálogo de problemas encontrados em software orientado a aspectos e seus padrões de refatoração associados, e também um conjunto de recomendações para evitar estes problemas e (vi) um estudo de métricas orientadas a aspectos, incluindo a sua definição formal, avaliação analítica e interpretação de dados.Refactoring is the process of improving the design of software systems without changing their externally observable behaviour. Refactoring can help to incrementally improve the quality of a software system through the application of behavioural preserving transformations called refactoring patterns. The main goal of the research this thesis reports is to provide a detailed process for refactoring, including mechanism for (i) the selection and creation of quality models, the selection of refactoring patterns, and the creation and use of heuristic rules, (ii) the search for refactoring opportunities and prioritisation, (iii) the assessment of the effects of refactoring on software quality, and (iv) the trade-off analysis and the application of refactoring patterns. To exemplify how the approach works and how the process can be used, different case studies are being used throughout the thesis. The selection of refactoring patterns, quality models and heuristic rules, and the search and prioritisation mechanisms are exemplified for object-oriented software. The assessment of refactoring effects on software quality, the trade-off analysis and the application of refactoring patterns are discussed in the context of aspect-oriented programming. Besides the definition of a refactoring process, a set of additional contributions of this thesis are (i) the definition of an approach for the selection and ranking of refactoring patterns, (ii) an approach for reducing the search space for refactoring opportunities when dealing with successive refactoring, (iii) the definition of search mechanisms for refactoring opportunities, (iv) an approach to evaluate the effects of refactoring on software quality, (v) a catalogue of shortcomings in aspect-oriented software and their related refactoring patterns, and (vi) an study of metrics for aspect-oriented software, including their formal definition, analytical evaluation and data interpretation.application/pdfengDesenvolvimento : SoftwareRefatoraçãoSoftware orientado : ObjetosRefatoraçãoDesenvolvimento de software orientado a aspectosEvolução de software refactoringAspect-oriented software developmentSoftware evolutionImproving the search for refactoring opportunities on object-oriented and aspect-oriented softwareMelhorando a busca por oportunidades de refatoração em software orientado a objetos e orientado a aspectos info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2009doutoradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000688448.pdf000688448.pdfTexto completo (inglês)application/pdf1977835http://www.lume.ufrgs.br/bitstream/10183/15651/1/000688448.pdf3f48bf6115ae8464d3f68760944a975cMD51TEXT000688448.pdf.txt000688448.pdf.txtExtracted Texttext/plain557762http://www.lume.ufrgs.br/bitstream/10183/15651/2/000688448.pdf.txtf9316c3cec563509a57aefde1bdbb6d6MD52THUMBNAIL000688448.pdf.jpg000688448.pdf.jpgGenerated Thumbnailimage/jpeg1062http://www.lume.ufrgs.br/bitstream/10183/15651/3/000688448.pdf.jpg4cfd285fdeec72d56724f20bfe0714cbMD5310183/156512021-05-07 04:57:09.450275oai:www.lume.ufrgs.br:10183/15651Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532021-05-07T07:57:09Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Improving the search for refactoring opportunities on object-oriented and aspect-oriented software |
dc.title.alternative.pt.fl_str_mv |
Melhorando a busca por oportunidades de refatoração em software orientado a objetos e orientado a aspectos |
title |
Improving the search for refactoring opportunities on object-oriented and aspect-oriented software |
spellingShingle |
Improving the search for refactoring opportunities on object-oriented and aspect-oriented software Piveta, Eduardo Kessler Desenvolvimento : Software Refatoração Software orientado : Objetos Refatoração Desenvolvimento de software orientado a aspectos Evolução de software refactoring Aspect-oriented software development Software evolution |
title_short |
Improving the search for refactoring opportunities on object-oriented and aspect-oriented software |
title_full |
Improving the search for refactoring opportunities on object-oriented and aspect-oriented software |
title_fullStr |
Improving the search for refactoring opportunities on object-oriented and aspect-oriented software |
title_full_unstemmed |
Improving the search for refactoring opportunities on object-oriented and aspect-oriented software |
title_sort |
Improving the search for refactoring opportunities on object-oriented and aspect-oriented software |
author |
Piveta, Eduardo Kessler |
author_facet |
Piveta, Eduardo Kessler |
author_role |
author |
dc.contributor.author.fl_str_mv |
Piveta, Eduardo Kessler |
dc.contributor.advisor1.fl_str_mv |
Price, Roberto Tom |
dc.contributor.advisor-co1.fl_str_mv |
Pimenta, Marcelo Soares |
contributor_str_mv |
Price, Roberto Tom Pimenta, Marcelo Soares |
dc.subject.por.fl_str_mv |
Desenvolvimento : Software Refatoração Software orientado : Objetos |
topic |
Desenvolvimento : Software Refatoração Software orientado : Objetos Refatoração Desenvolvimento de software orientado a aspectos Evolução de software refactoring Aspect-oriented software development Software evolution |
dc.subject.eng.fl_str_mv |
Refatoração Desenvolvimento de software orientado a aspectos Evolução de software refactoring Aspect-oriented software development Software evolution |
description |
Refatoração é o processo de melhorar o projeto de sistemas de software sem modificar seu comportamento externamente observável. O processo de refatoração pode auxiliar a incrementalmente melhorar a qualidade de software de um sistema através da aplicação de transformações que preservam comportamento chamadas de padrões de refatoração. O principal objetivo da pesquisa que esta tese descreve é prover um processo detalhado para refatoração, incluindo mecanismos para (i) seleção e criação de modelos de qualidade, padrões de refatoração e funções heurísticas, (ii) a busca e priorização de oportunidades de refatoração, (iii) a avaliação dos efeitos da refatoração na qualidade de software e (iv) a análise de vantagens e desvantagens e a aplicação de padrões de refatoração. Para exemplificar como os mecanismos propostos funcionam e como o processo pode ser usado, diferentes estudos de caso são usados ao longo da tese. A seleção dos padrões de refatoração, dos modelos de qualidade e das funções heurísticas são exemplificados para software orientado a objetos, bem como os mecanismos de busca e priorização. A avaliação dos efeitos da refatoração na qualidade de software, a análise de vantagens e desvantagens e a aplicação de padrões de refatoração são discutidos no contexto de programação orientada a aspectos. Além da definição de um processo de refatoração, um conjunto adicional de contribuições desta tese são: (i) a definição de uma abordagem para a seleção e ranking de padrões de refatoração baseada no AHP (Analytic Hierarchy Process), (ii) uma abordagem para reduzir o espaço de busca para oportunidades de refatoração ao manipular refatorações sucessivas, (iii) a definição de mecanismos de busca para oportunidades de refatoração, (iv) uma abordagem para avaliar os efeitos de refatoração na qualidade de software, (v) um catálogo de problemas encontrados em software orientado a aspectos e seus padrões de refatoração associados, e também um conjunto de recomendações para evitar estes problemas e (vi) um estudo de métricas orientadas a aspectos, incluindo a sua definição formal, avaliação analítica e interpretação de dados. |
publishDate |
2009 |
dc.date.accessioned.fl_str_mv |
2009-04-25T04:12:49Z |
dc.date.issued.fl_str_mv |
2009 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/15651 |
dc.identifier.nrb.pt_BR.fl_str_mv |
000688448 |
url |
http://hdl.handle.net/10183/15651 |
identifier_str_mv |
000688448 |
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/15651/1/000688448.pdf http://www.lume.ufrgs.br/bitstream/10183/15651/2/000688448.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/15651/3/000688448.pdf.jpg |
bitstream.checksum.fl_str_mv |
3f48bf6115ae8464d3f68760944a975c f9316c3cec563509a57aefde1bdbb6d6 4cfd285fdeec72d56724f20bfe0714cb |
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_ |
1810085143563468800 |