Repository logo
 
Publication

Towards Code Smell Detection: A Multiphase Methodology Using Fuzzy Logic-based Feature Selection

datacite.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
dc.contributor.advisorPombo, Nuno Gonçalo Coelho Costa
dc.contributor.authorMonteiro, Bruno Miguel Gonçalves
dc.date.accessioned2025-10-29T16:37:34Z
dc.date.available2025-10-29T16:37:34Z
dc.date.embargo2025-12-02
dc.date.issued2025-02-27
dc.date.submitted2024-11-29
dc.description.abstractEnsuring the quality of software code remains a fundamental challenge in software engineering. Code smells are characteristics in the source code that could infer a need for refactoring and imply potential problems with its design and implementation, making the code harder to understand, maintain, and evolve. If left unresolved, these smells can lead to the appearance of bugs, making them as critical to address as software defects themselves. Recent research has explored various Machine Learning (ML) techniques for detecting code smells. However, misclassification continues to be a significant challenge, often leading to inconsistent outcomes and compromising the reliability of the model’s predictions. Feature selection has emerged as a key technique to improve the accuracy of these models by reducing dimensionality and removing irrelevant or redundant features, thereby allowing for more precise predictions in code smell detection. Among these, the feature selection method based on Modified Fuzzy C-Means algorithm with supervision (MFCMS), which integrates both clustering and supervised learning, shows significant promise. By capturing complex relationships between features, MFCMS has the potential to improve the reliability of code smell detection, leading to more consistent predictions. This dissertation introduces a multiphase approach to enhance the detection of the long method smell using ML techniques. The method integrates data preprocessing, feature extraction, and machine learning modeling to improve both accuracy and efficiency. Although experimental results revealed that the proposed approach provides some improvements over the baseline model, its main contribution lies in applying MFCMS for dimensionality reduction, especially when combined with PCA. This combination reduced feature correlation and enhanced the feature selection process. Despite these advancements, some misclassifications remain, indicating that further refinement is needed. This work lays the foundation for future research, particularly in exploring feature selection methods for code smell detection. It unlocks the potential for developing more robust, automated tools that can improve software quality and maintainability.eng
dc.description.abstractGarantir a qualidade de software continua a ser um desafio fundamental na engenharia de software. Code smells são características no código que podem indicar a necessidade de refatorização e indicam potenciais problemas no seu design e implementação, tornando o código mais difícil de compreender, manter e evoluir. Caso não sejam resolvidos, esses smells podem resultar em bugs, o que torna a sua resolução tão crítica como a dos próprios bugs. Atualmente, diversos estudos têm explorado várias técnicas de Machine Learning (ML) para a deteção de code smells. No entanto, a classificação incorreta de instâncias continua a ser um desafio significativo, conduzindo frequentemente a resultados inconsistentes e comprometendo a fiabilidade das previsões do modelo. A seleção de caraterísticas surgiu como uma técnica fundamental para melhorar a acurácia destes modelos, reduzindo a dimensionalidade e removendo caraterísticas irrelevantes ou redundantes, permitindo assim previsões mais precisas na deteção de code smells. Entre estes, o método de seleção de caraterísticas baseado no Modified Fuzzy C-Means algorithm with supervision (MFCMS), que integra clustering e aprendizagem supervisionada, revela-se bastante promissor. Ao captar relações complexas entre caraterísticas, o MFCMS tem o potencial de melhorar a fiabilidade da deteção de code smells, conduzindo a previsões mais consistentes. Esta dissertação apresenta uma abordagem para melhorar a deteção do code smell long method utilizando técnicas de ML. O método integra o pré-processamento de dados, a seleção de caraterísticas e um modelo de ML para melhorar a acurácia e a eficiência. Embora os resultados experimentais tenham revelado que a abordagem proposta proporciona algumas melhorias relativamente ao modelo base, a sua principal contribuição reside na aplicação do MFCMS para redução da dimensionalidade, especialmente quando combinada com Principal Component Analysis (PCA). Esta combinação reduziu a correlação entre caraterísticas e melhorou o processo de seleção. Apesar destes avanços, perduram alguns erros de classificação, evidenciando a necessidade de melhorias no futuro. Este trabalho estabelece as bases para estudos futuros, particularmente na investigação de métodos de seleção de caraterísticas adequados para a deteção de code smells. Isso permitirá o desenvolvimento de ferramentas mais robustas e automatizadas, capazes de melhorar a qualidade e a manutenção do software.por
dc.identifier.tid204026741
dc.identifier.urihttp://hdl.handle.net/10400.6/19032
dc.language.isoengpor
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/
dc.subjectQualidade de Softwarepor
dc.subjectCode Smellspor
dc.subjectEngenharia de Software.por
dc.subjectModified Fuzzy c-Means Algorithm with Supervisionpor
dc.subjectSeleção de Caraterísticaspor
dc.titleTowards Code Smell Detection: A Multiphase Methodology Using Fuzzy Logic-based Feature Selectionpor
dc.typemaster thesispor
dspace.entity.typePublication
rcaap.embargofctContém dados temporariamente confidenciais;por
rcaap.rightsembargoedAccesspor
thesis.degree.name2º Ciclo em Engenharia Informáticapor

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
10963_26516.pdf
Size:
1.56 MB
Format:
Adobe Portable Document Format