bachelorThesis
Otimização de recomendações de mudanças de software por meio de algoritmo genético
Fecha
2017-11-28Registro en:
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.
Autor
Wessel, Mairieli Santos
Resumen
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.