Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/6033
Título: Otimização de recomendações de mudanças de software por meio de algoritmo genético
Título(s) alternativo(s): Tweaking association rules to optimize software change recommendations
Autor(es): Wessel, Mairieli Santos
Orientador(es): Wiese, Igor Scaliante
Palavras-chave: Algorítmos genéticos
Mineração de dados (Computação)
Software
Genetic algorithms
Data mining
Computer software
Data do documento: 28-Nov-2017
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Campo Mourao
Citação: 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.
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.
Abstract: 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.
URI: http://repositorio.utfpr.edu.br/jspui/handle/1/6033
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.