Otimização de recomendações de mudanças de software por meio de algoritmo genético

Detalhes bibliográficos
Autor(a) principal: Wessel, Mairieli Santos
Data de Publicação: 2017
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
Texto Completo: http://repositorio.utfpr.edu.br/jspui/handle/1/6033
Resumo: Contexto: Pesquisadores têm tentado recomendar artefatos de software que provavelmente mudarão juntos para ajudar os desenvolvedores a fazer mudanças em um projeto de software. Os acoplamentos evolutivos constituem uma peça fundamental de técnicas de recomendação de mudanças e são geralmente descobertos por regras de associação. Um dos grandes problemas em utilizar essa técnica na prática é que o uso de regras de associação requer uma série de parâmetros de configuração. Determinar esses parâmetros significa realizar estudos empíricos para cada projeto, testando variações antes de escolher uma configuração que seja adequada para o projeto. Objetivo: A fim de possibilitar a utilização de regras de associação para gerar recomendações de mudanças conjuntas que sejam utilizadas por desenvolvedores de software na prática, este trabalho investiga como determinar empiricamente os limiares de suporte e confiança, bem como o conjunto de treinamento que geram as recomendações de mudança com maior acurácia para um projeto de software. Método: Este trabalho propõe a definição de um modelo de recomendação de mudança utilizando o algoritmo Apriori e Algoritmo Genético para selecionar o histórico de mudanças e os limiares de suporte e confiança, a fim de otimizar as recomendações de mudança geradas. Para a avaliação do modelo proposto, a acurácia das recomendações geradas foram comparadas com outros dois modelos definidos com base em uma função de regressão e no algoritmo TARMAQ, Regressão+Apriori e Regressão+TARMAQ. Experimentos foram executados em 16 projetos de código aberto, avaliando cenários com consultas geradas a partir de transações no conjunto de teste. Resultados: Os resultados indicam que o modelo proposto, Genético+Apriori, possui acurácia maior do que o modelo Regressão+Apriori. Porém, para cenários com consulta fixa, o modelo proposto possui resultados semelhantes ao modelo Regressão+TARMAQ e, em cenários com consulta variável o Regressão+TARMAQ possui desempenho superior para, em média, 40% dos projetos. Os três modelos sofrem deterioração a medida que novas transações são inseridas. Conclusões: Os resultados são encorajadores, pois repositórios como o GitHub hospedam muitos projetos com pouco histórico. Nossos resultados podem ser usados por pesquisadores ao realizar estudos de previsão de mudanças conjuntas e por desenvolvedores para produzir suporte automatizado para ferramentas de recomendação de mudanças.
id UTFPR-12_8643b846847932b8fb65fe08438a71c7
oai_identifier_str oai:repositorio.utfpr.edu.br:1/6033
network_acronym_str UTFPR-12
network_name_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository_id_str
spelling 2020-11-09T19:10:39Z2020-11-09T19:10:39Z2017-11-28WESSEL, Mairieli Santos. Otimização de recomendações de mudanças de software por meio de algoritmo genético. 2017. 81 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Campo Mourão, 2017.http://repositorio.utfpr.edu.br/jspui/handle/1/6033Contexto: Pesquisadores têm tentado recomendar artefatos de software que provavelmente mudarão juntos para ajudar os desenvolvedores a fazer mudanças em um projeto de software. Os acoplamentos evolutivos constituem uma peça fundamental de técnicas de recomendação de mudanças e são geralmente descobertos por regras de associação. Um dos grandes problemas em utilizar essa técnica na prática é que o uso de regras de associação requer uma série de parâmetros de configuração. Determinar esses parâmetros significa realizar estudos empíricos para cada projeto, testando variações antes de escolher uma configuração que seja adequada para o projeto. Objetivo: A fim de possibilitar a utilização de regras de associação para gerar recomendações de mudanças conjuntas que sejam utilizadas por desenvolvedores de software na prática, este trabalho investiga como determinar empiricamente os limiares de suporte e confiança, bem como o conjunto de treinamento que geram as recomendações de mudança com maior acurácia para um projeto de software. Método: Este trabalho propõe a definição de um modelo de recomendação de mudança utilizando o algoritmo Apriori e Algoritmo Genético para selecionar o histórico de mudanças e os limiares de suporte e confiança, a fim de otimizar as recomendações de mudança geradas. Para a avaliação do modelo proposto, a acurácia das recomendações geradas foram comparadas com outros dois modelos definidos com base em uma função de regressão e no algoritmo TARMAQ, Regressão+Apriori e Regressão+TARMAQ. Experimentos foram executados em 16 projetos de código aberto, avaliando cenários com consultas geradas a partir de transações no conjunto de teste. Resultados: Os resultados indicam que o modelo proposto, Genético+Apriori, possui acurácia maior do que o modelo Regressão+Apriori. Porém, para cenários com consulta fixa, o modelo proposto possui resultados semelhantes ao modelo Regressão+TARMAQ e, em cenários com consulta variável o Regressão+TARMAQ possui desempenho superior para, em média, 40% dos projetos. Os três modelos sofrem deterioração a medida que novas transações são inseridas. Conclusões: Os resultados são encorajadores, pois repositórios como o GitHub hospedam muitos projetos com pouco histórico. Nossos resultados podem ser usados por pesquisadores ao realizar estudos de previsão de mudanças conjuntas e por desenvolvedores para produzir suporte automatizado para ferramentas de recomendação de mudanças.Context: Past researchs have been trying to recommend artifacts that are likely to change together in a task to assist developers in making changes to a software system, often using techniques like association rules. Association rules learning is a data mining technique that has been frequently used to discover evolutionary couplings. These couplings constitute a fundamental piece of modern change prediction techniques. However, using association rules to detect evolutionary coupling requires a number of configuration parameters, such as measures of interest (e.g. support and confidence), their cut-off values, and the portion of the commit history from which co-change relationships will be extracted. To accomplish this set up, researchers have to carry out empirical studies for each project, testing a few variations of the parameters before choosing a configuration. This makes it difficult to use association rules in practice, since developers would need to perform experiments before applying the technique and would end up choosing non-optimal solutions that lead to wrong predictions. Objective: In search of enabling the use of association rules to mine co-change recommendations that are actually used by software developers, this work research a way to empirically determine the threshold of support and confidence as well as a training set so that recommendations are more accurate for a given software project. Method: To optimize co-change recommendations, this work proposes a model that make use of both Apriori and Genetic Algorithm to select the change history, support and confidence thresholds. The evaluation is done by comparing our proposed model accuracy with two other models, based on a regression function and TARMAQ algorithm proposed in the literature, Regression+Apriori and Regression+TARMAQ. Experiments were made in sixteen open source projects, comparing the accuracy of recommendations produced by a varying query scenarios. Results: The results show that the Genetic+Apriori model has a better accuracy when compared to Regression+Apriori model. When testing against fixed query scenarios, the proposed model shows similar results when comparing with Regression+TARMAQ. In varying query scenarios however, Regression+TARMAQ has a better accuracy than the proposed model in 40% of the tested projects. We also find that, as more transactions are added on software change history, all three models deteriorate in accuracy. Conclusions: The results are particularly encouraging, because repositories such as GitHub host many young projects. Our results can be used by researchers when conducting co-change prediction studies and by tool developers to produce automated support to be used by practitioners.porUniversidade Tecnológica Federal do ParanáCampo MouraoCiência da ComputaçãoUTFPRBrasilDepartamento Acadêmico de ComputaçãoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOAlgorítmos genéticosMineração de dados (Computação)SoftwareGenetic algorithmsData miningComputer softwareOtimização de recomendações de mudanças de software por meio de algoritmo genéticoTweaking association rules to optimize software change recommendationsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisCampo MourãoWiese, Igor ScalianteGonçalves, Diego BertoliniSilva, Marco Aurélio GraciottoWiese, Igor ScalianteWessel, Mairieli Santosinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPRORIGINALmudancassoftwarealgoritmogenetico.pdfapplication/pdf3673042http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6033/1/mudancassoftwarealgoritmogenetico.pdfc7b385a367f3c1649f44267bc761dd63MD51LICENSElicense.txttext/plain1290http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6033/2/license.txtb9d82215ab23456fa2d8b49c5df1b95bMD52TEXTmudancassoftwarealgoritmogenetico.pdf.txtExtracted texttext/plain182308http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6033/3/mudancassoftwarealgoritmogenetico.pdf.txt3d91099c167c343e2912f14cd89cee07MD53THUMBNAILmudancassoftwarealgoritmogenetico.pdf.jpgGenerated Thumbnailimage/jpeg1340http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6033/4/mudancassoftwarealgoritmogenetico.pdf.jpg82dfcef8608a1cdff2c47a7459641afcMD541/60332020-11-09 17:10:39.607oai:repositorio.utfpr.edu.br:1/6033TmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGRhIHB1YmxpY2HDp8OjbywgYXV0b3Jpem8gYSBVVEZQUiBhIHZlaWN1bGFyLCAKYXRyYXbDqXMgZG8gUG9ydGFsIGRlIEluZm9ybWHDp8OjbyBlbSBBY2Vzc28gQWJlcnRvIChQSUFBKSBlIGRvcyBDYXTDoWxvZ29zIGRhcyBCaWJsaW90ZWNhcyAKZGVzdGEgSW5zdGl0dWnDp8Ojbywgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBkZSBhY29yZG8gY29tIGEgTGVpIG5vIDkuNjEwLzk4LCAKbyB0ZXh0byBkZXN0YSBvYnJhLCBvYnNlcnZhbmRvIGFzIGNvbmRpw6fDtWVzIGRlIGRpc3BvbmliaWxpemHDp8OjbyByZWdpc3RyYWRhcyBubyBpdGVtIDQgZG8gCuKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgVHJhYmFsaG9zIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28gZGUgR3JhZHVhw6fDo28gZSAKRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgZGUgSW5mb3JtYcOnw6NvIGUgbm9zIENhdMOhbG9nb3MgRWxldHLDtG5pY29zIGRvIApTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkLCB2aXNhbmRvIGEgCmRpdnVsZ2HDp8OjbyBkYSBwcm9kdcOnw6NvIGNpZW50w61maWNhIGJyYXNpbGVpcmEuCgogIEFzIHZpYXMgb3JpZ2luYWlzIGUgYXNzaW5hZGFzIHBlbG8ocykgYXV0b3IoZXMpIGRvIOKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgClRyYWJhbGhvcyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvIGRlIEdyYWR1YcOnw6NvIGUgRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgCmRlIEluZm9ybWHDp8OjbyBlIG5vcyBDYXTDoWxvZ29zIEVsZXRyw7RuaWNvcyBkbyBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdIGUgZGEg4oCcRGVjbGFyYcOnw6NvIApkZSBBdXRvcmlh4oCdIGVuY29udHJhbS1zZSBhcnF1aXZhZGFzIG5hIEJpYmxpb3RlY2EgZG8gQ8OibXB1cyBubyBxdWFsIG8gdHJhYmFsaG8gZm9pIGRlZmVuZGlkby4gCk5vIGNhc28gZGUgcHVibGljYcOnw7VlcyBkZSBhdXRvcmlhIGNvbGV0aXZhIGUgbXVsdGljw6JtcHVzLCBvcyBkb2N1bWVudG9zIGZpY2Fyw6NvIHNvYiBndWFyZGEgZGEgCkJpYmxpb3RlY2EgY29tIGEgcXVhbCBvIOKAnHByaW1laXJvIGF1dG9y4oCdIHBvc3N1YSB2w61uY3Vsby4KRepositório de PublicaçõesPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestopendoar:2020-11-09T19:10:39Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.pt_BR.fl_str_mv Otimização de recomendações de mudanças de software por meio de algoritmo genético
dc.title.alternative.pt_BR.fl_str_mv Tweaking association rules to optimize software change recommendations
title Otimização de recomendações de mudanças de software por meio de algoritmo genético
spellingShingle Otimização de recomendações de mudanças de software por meio de algoritmo genético
Wessel, Mairieli Santos
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Algorítmos genéticos
Mineração de dados (Computação)
Software
Genetic algorithms
Data mining
Computer software
title_short Otimização de recomendações de mudanças de software por meio de algoritmo genético
title_full Otimização de recomendações de mudanças de software por meio de algoritmo genético
title_fullStr Otimização de recomendações de mudanças de software por meio de algoritmo genético
title_full_unstemmed Otimização de recomendações de mudanças de software por meio de algoritmo genético
title_sort Otimização de recomendações de mudanças de software por meio de algoritmo genético
author Wessel, Mairieli Santos
author_facet Wessel, Mairieli Santos
author_role author
dc.contributor.advisor1.fl_str_mv Wiese, Igor Scaliante
dc.contributor.referee1.fl_str_mv Gonçalves, Diego Bertolini
dc.contributor.referee2.fl_str_mv Silva, Marco Aurélio Graciotto
dc.contributor.referee3.fl_str_mv Wiese, Igor Scaliante
dc.contributor.author.fl_str_mv Wessel, Mairieli Santos
contributor_str_mv Wiese, Igor Scaliante
Gonçalves, Diego Bertolini
Silva, Marco Aurélio Graciotto
Wiese, Igor Scaliante
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Algorítmos genéticos
Mineração de dados (Computação)
Software
Genetic algorithms
Data mining
Computer software
dc.subject.por.fl_str_mv Algorítmos genéticos
Mineração de dados (Computação)
Software
Genetic algorithms
Data mining
Computer software
description Contexto: Pesquisadores têm tentado recomendar artefatos de software que provavelmente mudarão juntos para ajudar os desenvolvedores a fazer mudanças em um projeto de software. Os acoplamentos evolutivos constituem uma peça fundamental de técnicas de recomendação de mudanças e são geralmente descobertos por regras de associação. Um dos grandes problemas em utilizar essa técnica na prática é que o uso de regras de associação requer uma série de parâmetros de configuração. Determinar esses parâmetros significa realizar estudos empíricos para cada projeto, testando variações antes de escolher uma configuração que seja adequada para o projeto. Objetivo: A fim de possibilitar a utilização de regras de associação para gerar recomendações de mudanças conjuntas que sejam utilizadas por desenvolvedores de software na prática, este trabalho investiga como determinar empiricamente os limiares de suporte e confiança, bem como o conjunto de treinamento que geram as recomendações de mudança com maior acurácia para um projeto de software. Método: Este trabalho propõe a definição de um modelo de recomendação de mudança utilizando o algoritmo Apriori e Algoritmo Genético para selecionar o histórico de mudanças e os limiares de suporte e confiança, a fim de otimizar as recomendações de mudança geradas. Para a avaliação do modelo proposto, a acurácia das recomendações geradas foram comparadas com outros dois modelos definidos com base em uma função de regressão e no algoritmo TARMAQ, Regressão+Apriori e Regressão+TARMAQ. Experimentos foram executados em 16 projetos de código aberto, avaliando cenários com consultas geradas a partir de transações no conjunto de teste. Resultados: Os resultados indicam que o modelo proposto, Genético+Apriori, possui acurácia maior do que o modelo Regressão+Apriori. Porém, para cenários com consulta fixa, o modelo proposto possui resultados semelhantes ao modelo Regressão+TARMAQ e, em cenários com consulta variável o Regressão+TARMAQ possui desempenho superior para, em média, 40% dos projetos. Os três modelos sofrem deterioração a medida que novas transações são inseridas. Conclusões: Os resultados são encorajadores, pois repositórios como o GitHub hospedam muitos projetos com pouco histórico. Nossos resultados podem ser usados por pesquisadores ao realizar estudos de previsão de mudanças conjuntas e por desenvolvedores para produzir suporte automatizado para ferramentas de recomendação de mudanças.
publishDate 2017
dc.date.issued.fl_str_mv 2017-11-28
dc.date.accessioned.fl_str_mv 2020-11-09T19:10:39Z
dc.date.available.fl_str_mv 2020-11-09T19:10:39Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv WESSEL, Mairieli Santos. Otimização de recomendações de mudanças de software por meio de algoritmo genético. 2017. 81 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Campo Mourão, 2017.
dc.identifier.uri.fl_str_mv http://repositorio.utfpr.edu.br/jspui/handle/1/6033
identifier_str_mv WESSEL, Mairieli Santos. Otimização de recomendações de mudanças de software por meio de algoritmo genético. 2017. 81 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Campo Mourão, 2017.
url http://repositorio.utfpr.edu.br/jspui/handle/1/6033
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.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Campo Mourao
dc.publisher.program.fl_str_mv Ciência da Computação
dc.publisher.initials.fl_str_mv UTFPR
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Departamento Acadêmico de Computação
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Campo Mourao
dc.source.none.fl_str_mv reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
collection Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
bitstream.url.fl_str_mv http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6033/1/mudancassoftwarealgoritmogenetico.pdf
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6033/2/license.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6033/3/mudancassoftwarealgoritmogenetico.pdf.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/6033/4/mudancassoftwarealgoritmogenetico.pdf.jpg
bitstream.checksum.fl_str_mv c7b385a367f3c1649f44267bc761dd63
b9d82215ab23456fa2d8b49c5df1b95b
3d91099c167c343e2912f14cd89cee07
82dfcef8608a1cdff2c47a7459641afc
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv
_version_ 1805923211072765952