Use este identificador para citar ou linkar para este item: https://ri.ufs.br/jspui/handle/riufs/3335
Registro completo de metadados
Campo DCValorIdioma
dc.contributor.authorSilva Júnior, Leonardo Bezerrapt_BR
dc.date.accessioned2017-09-26T11:34:17Z-
dc.date.available2017-09-26T11:34:17Z-
dc.date.issued2014-09-19-
dc.identifier.citationSILVA JÚNIOR, Leonardo Bezerra. Investigando a refatoração automática de software baseada em algoritmos de otimização multiobjetivos. 2014. 118 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Sergipe, São Cristóvão, 2014.por
dc.identifier.urihttps://ri.ufs.br/handle/riufs/3335-
dc.description.abstractRefactoring is a process that aims to change the code without changing the visible behavior and is used to correct structural problems in software, arising from unplanned maintenance or an unstructured development process. The mechanisms behind the refactoring process, however, are relatively complex and dangerous if done manually (for each refactoring is necessary to evaluate a number of pre and post-conditions to ensure that the behavior is not changed). Many current development tools facilitate the refactorings usage, but in a semiautomatic way, so that the programmer must detect the need for a specific refactoring. New techniques have emerged in an effort to approximate the software engineering to other engineerings with respect to process automation. In this context, the application of search algorithms arises as a means to provide support to software maintenance by automatically applying refactorings. This work fits in this context, Search-Based Software Refactoring, and investigates in detail the topic, including the proposition of a specific algorithm for the area, entitled MultiObjective Particle Swarm Optimization with Path Relinking (MOPSOPR). An open source framework which enables the search and automatic application of refactoring sequences has also been proposed. This framework allows exploration of the problem of automatic refactoring through various optimization algorithms. In particular, in this msc dissertation, the framework is used to enable comparative analysis of the proposed algorithm with the most used algorithm in the literature of this subject, the Non-Dominated Sorting Genetic Algorithm-II (NSGA-II). Several experiments were conducted, which included real-world softwares. Despite showing some positive results, the overall assessment does not indicate a unanimous superiority of the proposed algorithm compared to the NSGA-II in several experiments. However, the study revealed interesting research frontiers to be explored in future work.eng
dc.formatapplication/pdfpor
dc.languageporpor
dc.publisherUniversidade Federal de Sergipepor
dc.rightsAcesso Abertopor
dc.subjectComputaçãopor
dc.subjectEngenharia de softwarepor
dc.subjectSoftwarepor
dc.subjectRefatoraçãopor
dc.subjectAlgoritmos de computadorpor
dc.subjectFrameworkpor
dc.subjectEngenharia de software baseada em buscapor
dc.subjectNSGA-IIpor
dc.subjectMOPSOpor
dc.subjectSoftware Enginneringeng
dc.subjectSearch-Based Software Engineeringeng
dc.subjectRefactoringeng
dc.subjectParticleeng
dc.subjectSwarm Optimizationeng
dc.titleInvestigando a refatoração automática de software baseada em algoritmos de otimização multiobjetivospor
dc.typeDissertaçãopor
dc.creator.Latteshttp://lattes.cnpq.br/0928395859437822por
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/4711374324516507por
dc.contributor.advisor1Silva, Leila Maciel de Almeida ept_BR
dc.description.resumoRefatoração é um processo que objetiva a mudança de código sem a mudança de comportamento visível e é utilizada para corrigir problemas estruturais no software, advindos de manutenções sem planejamento ou de um processo de desenvolvimento desestruturado. Os mecanismos por trás do processo de refatoração, entretanto, são relativamente complexos e perigosos se feitos manualmente (para cada refatoração é preciso avaliar uma série de pré e pós-condições para garantir que o comportamento não seja alterado). Muitas ferramentas de desenvolvimento atuais facilitam as refatorações, mas de forma semiautomatizada, de maneira que o programador deve perceber a necessidade de uma refatoração específica. Novas técnicas tem surgido em um esforço para aproximar a engenharia de software das outras engenharias no que diz respeito à automatização de processos. Neste contexto, a aplicação de algoritmos de busca surge como uma proposta para prover suporte à manutenção de software através da aplicação automática de refatorações. Este trabalho se insere neste contexto, o de Refatoração de Software Baseada em Buscas (do inglês Search-Based Software Refactoring), e investiga detalhadamente o tema, propondo inclusive um algoritmo específico para a área, intitulado MultiObjective Particle Swarm Optimization with Path Relinking (MOPSOPR). Um framework open-source que possibilita a busca e aplicação automática de sequências de refatorações foi também proposto. Este framework permite a exploração do problema de refatoração automática através de vários algoritmos de otimização. Em particular, neste trabalho o framework foi utilizado para viabilizar análises comparativas do algoritmo proposto com o algoritmo mais utilizado na literatura deste tema, o Non-Dominated Sorting Genetic Algorithm- II (NSGA-II). Vários experimentos foram conduzidos, inclusive considerando-se softwares reais. Apesar de apresentar alguns resultados positivos, a avaliação geral não indica uma superioridade unânime do algoritmo proposto em relação ao NSGA-II nos diversos experimentos realizados. Entretanto, o estudo realizado revelou interessantes fronteiras de investigação a serem exploradas em trabalhos futuros.por
dc.publisher.programPós-Graduação em Ciência da Computaçãopor
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor
dc.publisher.countryBRpor
dc.publisher.initialsUFSpor
Aparece nas coleções:Mestrado em Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
LEONARDO_BEZERRA_SILVA_JUNIOR.pdf2,15 MBAdobe PDFThumbnail
Visualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.