Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/6033
Registro completo de metadados
Campo DCValorIdioma
dc.creatorWessel, Mairieli Santos
dc.date.accessioned2020-11-09T19:10:39Z-
dc.date.available2020-11-09T19:10:39Z-
dc.date.issued2017-11-28
dc.identifier.citationWESSEL, 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.pt_BR
dc.identifier.urihttp://repositorio.utfpr.edu.br/jspui/handle/1/6033-
dc.description.abstractContext: 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.pt_BR
dc.languageporpt_BR
dc.publisherUniversidade Tecnológica Federal do Paranápt_BR
dc.rightsopenAccesspt_BR
dc.subjectAlgorítmos genéticospt_BR
dc.subjectMineração de dados (Computação)pt_BR
dc.subjectSoftwarept_BR
dc.subjectGenetic algorithmspt_BR
dc.subjectData miningpt_BR
dc.subjectComputer softwarept_BR
dc.titleOtimização de recomendações de mudanças de software por meio de algoritmo genéticopt_BR
dc.title.alternativeTweaking association rules to optimize software change recommendationspt_BR
dc.typebachelorThesispt_BR
dc.description.resumoContexto: 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.pt_BR
dc.degree.localCampo Mourãopt_BR
dc.publisher.localCampo Mouraopt_BR
dc.contributor.advisor1Wiese, Igor Scaliante
dc.contributor.referee1Gonçalves, Diego Bertolini
dc.contributor.referee2Silva, Marco Aurélio Graciotto
dc.contributor.referee3Wiese, Igor Scaliante
dc.publisher.countryBrasilpt_BR
dc.publisher.departmentDepartamento Acadêmico de Computaçãopt_BR
dc.publisher.programCiência da Computaçãopt_BR
dc.publisher.initialsUTFPRpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
Aparece nas coleções:CM - Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
mudancassoftwarealgoritmogenetico.pdf3,59 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.