Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software

Detalhes bibliográficos
Autor(a) principal: Botelho, Glauber Andrade
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFS
Texto Completo: http://ri.ufs.br/jspui/handle/riufs/10762
Resumo: Search Based Software Engineering (SBSE) is a research area in which optimization algorithms are applied to solve Software Engineering problems. SBSE area comprises several sub-areas, among them, Search Based Software Refactoring (SBSR), which deals with automatic software refactoring processes. One of the problems investigated in SBSR is the determination of a sequence of refactorings that provides code improvement, according to predetermined criteria. To model this problem as an optimization problem, it is necessary to define objective functions. In this case, the objective functions are quality metrics used in Software Engineering. Since there are many metrics to consider, the problem of determining sequences of refactorings is a Many-Objective Combinatorial Optimization Problem. Many-Objective optimization comprises a set of algorithms and techniques used to solve problems that take into account more than three objectives. In order to solve problems of this nature, new methods are proposed to reduce the deterioration of the search as the number of objectives increases, among them, the multi-objective evolutionary algorithms, which include the Estimation of Distribution Algorithms (EDA). However, despite having good results in combinatorial optimization problems the investigation of EDA in the context of optimization with many objectives are still incipient. The goal of this work is to investigate the use of EDA in the automatic selection of a sequence of refactorings. In order to achieve this goal, a new EDA is proposed, which incorporates many-objective optimization techniques existing in literature. The proposed algorithm was validated and added to a previously implemented automatic software refactoring framework. Furthermore, a set of experiments was conducted to evaluate the proposed algorithm. The results obtained by the proposed algorithm were compared to the results obtained by algorithms existing in the literature.
id UFS-2_b2daf300dd35a56028fe8ba978b5e16b
oai_identifier_str oai:ufs.br:riufs/10762
network_acronym_str UFS-2
network_name_str Repositório Institucional da UFS
repository_id_str
spelling Botelho, Glauber AndradeCarvalho, André Britto deAlmeida e Silva, Leila Maciel de2019-03-25T23:49:53Z2019-03-25T23:49:53Z2017-08-30BOTELHO, Glauber Andrade. Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software. 2017. 76 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Sergipe, São Cristóvão, SE, 2017.http://ri.ufs.br/jspui/handle/riufs/10762Search Based Software Engineering (SBSE) is a research area in which optimization algorithms are applied to solve Software Engineering problems. SBSE area comprises several sub-areas, among them, Search Based Software Refactoring (SBSR), which deals with automatic software refactoring processes. One of the problems investigated in SBSR is the determination of a sequence of refactorings that provides code improvement, according to predetermined criteria. To model this problem as an optimization problem, it is necessary to define objective functions. In this case, the objective functions are quality metrics used in Software Engineering. Since there are many metrics to consider, the problem of determining sequences of refactorings is a Many-Objective Combinatorial Optimization Problem. Many-Objective optimization comprises a set of algorithms and techniques used to solve problems that take into account more than three objectives. In order to solve problems of this nature, new methods are proposed to reduce the deterioration of the search as the number of objectives increases, among them, the multi-objective evolutionary algorithms, which include the Estimation of Distribution Algorithms (EDA). However, despite having good results in combinatorial optimization problems the investigation of EDA in the context of optimization with many objectives are still incipient. The goal of this work is to investigate the use of EDA in the automatic selection of a sequence of refactorings. In order to achieve this goal, a new EDA is proposed, which incorporates many-objective optimization techniques existing in literature. The proposed algorithm was validated and added to a previously implemented automatic software refactoring framework. Furthermore, a set of experiments was conducted to evaluate the proposed algorithm. The results obtained by the proposed algorithm were compared to the results obtained by algorithms existing in the literature.A Engenharia de Software Baseada em Busca, conhecida como SBSE (do inglês, Search Based Software Engineering), é uma área que usa algoritmos de otimização para solucionar problemas da Engenharia de Software. A área de SBSE compreende diversas subáreas, dentre estas, encontra-se a Refatoração de Software Baseada em Busca (SBSR, do inglês Search Based Software Refactoring), que trata de processos de refatoração automática de software utilizando algoritmos de otimização. Um dos problemas encontrados na SBSR é a determinação de sequências de refatorações com o objetivo da melhoria do código, de acordo com critérios previamente determinados. Para modelar este problema como um problema de otimização é necessário que sejam definidas funções objetivo. Nesse caso, as funções objetivo são métricas de qualidade utilizadas na Engenharia de Software. Como são muitas as métricas a se considerar, o problema de determinação de sequências de refatorações é naturalmente um Problema de Otimização combinatório com Muitos Objetivos. A otimização com muitos objetivos compreende um conjunto de algoritmos e técnicas que buscam resolver problemas de otimização com mais de três funções objetivo. Para resolver problemas dessa natureza, são propostos novos métodos que visam reduzir a deterioração da busca à medida que o número de objetivos aumenta. Dentre eles, destacam-se os algoritmos evolucionários multiobjetivo, que incluem os Estimation of Distribution Algorithms (EDA). No entanto, apesar de ter bons resultados em problemas de otimização combinatória, os EDA ainda são pouco explorados no contexto da otimização com muitos objetivos. O objetivo deste trabalho é investigar o uso dos EDA na seleção automática de uma sequência de refatorações. Para que esse objetivo seja atingido, propõe-se um novo EDA, no qual são incorporadas técnicas de otimização de muitos objetivos existentes na literatura. O algoritmo proposto foi validado e adicionado a um framework de refatoração automática de software previamente implementado. Após a condução de um conjunto de experimentos, os resultados obtidos pelo algoritmo proposto foram comparados aos resultados obtidos pelos algoritmos encontrados na literatura aplicados no contexto de SBSR.São Cristóvão, SEporRefatoraçãoOtimizaçãoEngenharia de softwareRefactoringOptimizationSoftware engineeringCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOAlgoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de softwareinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisPós-Graduação em Ciência da ComputaçãoUFSreponame:Repositório Institucional da UFSinstname:Universidade Federal de Sergipe (UFS)instacron:UFSinfo:eu-repo/semantics/openAccessTEXTGLAUBER_ANDRADE_BOTELHO.pdf.txtGLAUBER_ANDRADE_BOTELHO.pdf.txtExtracted texttext/plain173879https://ri.ufs.br/jspui/bitstream/riufs/10762/3/GLAUBER_ANDRADE_BOTELHO.pdf.txtc7ca0d081418bc337f7c6c44944f3388MD53THUMBNAILGLAUBER_ANDRADE_BOTELHO.pdf.jpgGLAUBER_ANDRADE_BOTELHO.pdf.jpgGenerated Thumbnailimage/jpeg1410https://ri.ufs.br/jspui/bitstream/riufs/10762/4/GLAUBER_ANDRADE_BOTELHO.pdf.jpgfaeee9d10336391c3b8c497eed3dfecbMD54LICENSElicense.txtlicense.txttext/plain; charset=utf-81475https://ri.ufs.br/jspui/bitstream/riufs/10762/1/license.txt098cbbf65c2c15e1fb2e49c5d306a44cMD51ORIGINALGLAUBER_ANDRADE_BOTELHO.pdfGLAUBER_ANDRADE_BOTELHO.pdfapplication/pdf1405010https://ri.ufs.br/jspui/bitstream/riufs/10762/2/GLAUBER_ANDRADE_BOTELHO.pdfa3a96f7bb5a90811c75019c48a2ff79aMD52riufs/107622019-03-25 20:49:54.158oai:ufs.br:riufs/10762TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvcihlcykgb3UgbyB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvcikgY29uY2VkZSDDoCBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTZXJnaXBlIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyIHNldSB0cmFiYWxobyBubyBmb3JtYXRvIGVsZXRyw7RuaWNvLCBpbmNsdWluZG8gb3MgZm9ybWF0b3Mgw6F1ZGlvIG91IHbDrWRlby4KClZvY8OqIGNvbmNvcmRhIHF1ZSBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFNlcmdpcGUgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIHNldSB0cmFiYWxobyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byBwYXJhIGZpbnMgZGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIHRhbWLDqW0gY29uY29yZGEgcXVlIGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU2VyZ2lwZSBwb2RlIG1hbnRlciBtYWlzIGRlIHVtYSBjw7NwaWEgZGUgc2V1IHRyYWJhbGhvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIGUgcHJlc2VydmHDp8Ojby4KClZvY8OqIGRlY2xhcmEgcXVlIHNldSB0cmFiYWxobyDDqSBvcmlnaW5hbCBlIHF1ZSB2b2PDqiB0ZW0gbyBwb2RlciBkZSBjb25jZWRlciBvcyBkaXJlaXRvcyBjb250aWRvcyBuZXN0YSBsaWNlbsOnYS4gVm9jw6ogdGFtYsOpbSBkZWNsYXJhIHF1ZSBvIGRlcMOzc2l0bywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgbsOjbyBpbmZyaW5nZSBkaXJlaXRvcyBhdXRvcmFpcyBkZSBuaW5ndcOpbS4KCkNhc28gbyB0cmFiYWxobyBjb250ZW5oYSBtYXRlcmlhbCBxdWUgdm9jw6ogbsOjbyBwb3NzdWkgYSB0aXR1bGFyaWRhZGUgZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCB2b2PDqiBkZWNsYXJhIHF1ZSBvYnRldmUgYSBwZXJtaXNzw6NvIGlycmVzdHJpdGEgZG8gZGV0ZW50b3IgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIHBhcmEgY29uY2VkZXIgw6AgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGUgU2VyZ2lwZSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgbmVzdGEgbGljZW7Dp2EsIGUgcXVlIGVzc2UgbWF0ZXJpYWwgZGUgcHJvcHJpZWRhZGUgZGUgdGVyY2Vpcm9zIGVzdMOhIGNsYXJhbWVudGUgaWRlbnRpZmljYWRvIGUgcmVjb25oZWNpZG8gbm8gdGV4dG8gb3Ugbm8gY29udGXDumRvLgoKQSBVbml2ZXJzaWRhZGUgRmVkZXJhbCBkZSBTZXJnaXBlIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUocykgb3UgbyhzKSBub21lKHMpIGRvKHMpIApkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIGF1dG9yYWlzIGRvIHRyYWJhbGhvLCBlIG7Do28gZmFyw6EgcXVhbHF1ZXIgYWx0ZXJhw6fDo28sIGFsw6ltIGRhcXVlbGFzIGNvbmNlZGlkYXMgcG9yIGVzdGEgbGljZW7Dp2EuIAo=Repositório InstitucionalPUBhttps://ri.ufs.br/oai/requestrepositorio@academico.ufs.bropendoar:2019-03-25T23:49:54Repositório Institucional da UFS - Universidade Federal de Sergipe (UFS)false
dc.title.pt_BR.fl_str_mv Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software
title Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software
spellingShingle Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software
Botelho, Glauber Andrade
Refatoração
Otimização
Engenharia de software
Refactoring
Optimization
Software engineering
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software
title_full Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software
title_fullStr Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software
title_full_unstemmed Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software
title_sort Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software
author Botelho, Glauber Andrade
author_facet Botelho, Glauber Andrade
author_role author
dc.contributor.author.fl_str_mv Botelho, Glauber Andrade
dc.contributor.advisor1.fl_str_mv Carvalho, André Britto de
dc.contributor.advisor-co1.fl_str_mv Almeida e Silva, Leila Maciel de
contributor_str_mv Carvalho, André Britto de
Almeida e Silva, Leila Maciel de
dc.subject.por.fl_str_mv Refatoração
Otimização
Engenharia de software
topic Refatoração
Otimização
Engenharia de software
Refactoring
Optimization
Software engineering
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Refactoring
Optimization
Software engineering
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Search Based Software Engineering (SBSE) is a research area in which optimization algorithms are applied to solve Software Engineering problems. SBSE area comprises several sub-areas, among them, Search Based Software Refactoring (SBSR), which deals with automatic software refactoring processes. One of the problems investigated in SBSR is the determination of a sequence of refactorings that provides code improvement, according to predetermined criteria. To model this problem as an optimization problem, it is necessary to define objective functions. In this case, the objective functions are quality metrics used in Software Engineering. Since there are many metrics to consider, the problem of determining sequences of refactorings is a Many-Objective Combinatorial Optimization Problem. Many-Objective optimization comprises a set of algorithms and techniques used to solve problems that take into account more than three objectives. In order to solve problems of this nature, new methods are proposed to reduce the deterioration of the search as the number of objectives increases, among them, the multi-objective evolutionary algorithms, which include the Estimation of Distribution Algorithms (EDA). However, despite having good results in combinatorial optimization problems the investigation of EDA in the context of optimization with many objectives are still incipient. The goal of this work is to investigate the use of EDA in the automatic selection of a sequence of refactorings. In order to achieve this goal, a new EDA is proposed, which incorporates many-objective optimization techniques existing in literature. The proposed algorithm was validated and added to a previously implemented automatic software refactoring framework. Furthermore, a set of experiments was conducted to evaluate the proposed algorithm. The results obtained by the proposed algorithm were compared to the results obtained by algorithms existing in the literature.
publishDate 2017
dc.date.issued.fl_str_mv 2017-08-30
dc.date.accessioned.fl_str_mv 2019-03-25T23:49:53Z
dc.date.available.fl_str_mv 2019-03-25T23:49:53Z
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.citation.fl_str_mv BOTELHO, Glauber Andrade. Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software. 2017. 76 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Sergipe, São Cristóvão, SE, 2017.
dc.identifier.uri.fl_str_mv http://ri.ufs.br/jspui/handle/riufs/10762
identifier_str_mv BOTELHO, Glauber Andrade. Algoritmos baseados em estimadores de distribuição e técnicas da otimização com muitos objetivos aplicados na refatoração automática de software. 2017. 76 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Sergipe, São Cristóvão, SE, 2017.
url http://ri.ufs.br/jspui/handle/riufs/10762
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.program.fl_str_mv Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv UFS
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFS
instname:Universidade Federal de Sergipe (UFS)
instacron:UFS
instname_str Universidade Federal de Sergipe (UFS)
instacron_str UFS
institution UFS
reponame_str Repositório Institucional da UFS
collection Repositório Institucional da UFS
bitstream.url.fl_str_mv https://ri.ufs.br/jspui/bitstream/riufs/10762/3/GLAUBER_ANDRADE_BOTELHO.pdf.txt
https://ri.ufs.br/jspui/bitstream/riufs/10762/4/GLAUBER_ANDRADE_BOTELHO.pdf.jpg
https://ri.ufs.br/jspui/bitstream/riufs/10762/1/license.txt
https://ri.ufs.br/jspui/bitstream/riufs/10762/2/GLAUBER_ANDRADE_BOTELHO.pdf
bitstream.checksum.fl_str_mv c7ca0d081418bc337f7c6c44944f3388
faeee9d10336391c3b8c497eed3dfecb
098cbbf65c2c15e1fb2e49c5d306a44c
a3a96f7bb5a90811c75019c48a2ff79a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFS - Universidade Federal de Sergipe (UFS)
repository.mail.fl_str_mv repositorio@academico.ufs.br
_version_ 1802110754703278080