Melhoria na predição de defeitos usando modelos ensemble: um estudo com aplicação de técnicas de pré-processamento - Vieira, Bianca Puerta Rocha [UNESP] (Universidade Estadual Paulista (Unesp), 2025)
A detecção de defeitos em software é uma prática para melhorar a qualidade do software. Porém, a detecção eficiente de defeitos possui desafios como a alta dimensionalidade dos conjuntos de dados e o desbalanceamento dos dados nos repositórios de software. Desse modo, existe a necessidade de lidar com cenários de dados desbalanceados e conjuntos de atributos extensos para melhorar modelos de classificação. O objetivo é utilizar técnicas de pré-processamento para melhorar a construção de modelos de ensemble para detecção de defeitos, utilizando dados extraídos de repositórios reais e atualizados. Foram extraídos dados de três repositórios de software de código Java da companhia Apache, visto que são repositórios atualizados de uma comunidade já bem estruturada e que usa o registro de issues no GitHub. Em seguida, foi utilizando a o algoritmo SZZ para vincular issues às modificações introdutoras de defeitos. Depois, a seleção de atributos e o tratamento de dados desbalanceados. Em conseguinte, utilizando os dados obtidos e tratados, foram desenvolvidos modelos de classificação utilizando técnicas ensemble para a construção de modelos. Os resultados indicam que, dos modelos ensemble, o Random Forest apresentou desempenho mais consistente na detecção de defeitos. O SMOTE performou melhor como técnica de tratamento de dados desbalanceados. O Fisher Score obteve melhor resultado como método de seleção de atributos, levando o tempo de tunagem dos hiperparâmetros em consideração, mas uma avaliação aprofundada da qualidade dos atributos escolhidos ainda é válida para estudos futuros. Por fim, os tempos de execução observados demonstraram viabilidade de aplicação em pipelines reais de integração contínua.

Software defect detection is a practice to improve software quality. However, efficient defect detection faces challenges such as the high dimensionality of datasets and data imbalance in software repositories. Thus, there is a need to handle scenarios with imbalanced data and large attribute sets to improve predictive models. The objective is to use preprocessing techniques to enhance the construction of ensemble models for defect detection, leveraging data extracted from real, up-to-date repositories. The data were extracted from three Java repositories from the Apache Foundation, as they are updated and maintained by a well-structured community that uses GitHub issue tracking. Then, the SZZ algorithm was used to link issues to defect introducing modifications. Afterwards, attribute selection and treatment of imbalanced data were performed. Subsequently, using the processed data, classification models were developed using ensemble techniques. The results indicate that, among the ensemble models, Random Forest showed the most consistent performance in defect detection. SMOTE showed better results than the other techniques for handling imbalanced data. The Fisher Score method yielded superior outcomes in feature selection, but a more in-depth evaluation of the quality of the selected attributes would be valuable for future work. Finally, the observed execution times demonstrated the application’s feasibility in real continuous integration pipelines.
Improving defect prediction using ensemble models: a study on the application of preprocessing techniques
Keywords: Detecção de defeitos de software; Qualidade de software; Dados desbalanceados; Seleção de atributos; Software defect detection; Software quality; Imbalanced data; Feature selection