Comparing the Effectiveness of Machine Learning and Deep Learning Techniques for Feature Envy Detection in Software Systems
Rana S. Menshawy, Ahmed Hassan Yousef, Ashraf Salem · 2023
Code smells are common in poorly designed software that can hinder code maintainability. Automatic detection of design flaws assists developers in identifying code smells in theirsoftware programs to avoid low-quality delivery. However, the interpretation of code smells is subjective, and existing machine learning-based detection tools are limited in their ability to capture complex semantic relationships in textual code. To address this limitation, the paper proposes a detection system that exploits machine learning and deep learning techniques and compares their effectiveness in identifying the feature envy code smell. The study applies six deep learning techniques based on code semantics features extracted from abstract syntax trees, and eleven machine learning techniques based on code structural features. The results show that both approaches are effective in detecting code smells, with Random Forest achieving exceptional performance among the machine learning classifiers.