CODE SMELL VISUALIZATION IN SOFTWARE EVOLUTION BASED ON METRIC-BASED DETECTION STRATEGIES - Novendra Wahyunadi, Eka
Software evolution is a continuous development process after release to adapt to new needs while also fixing defects. As software complexity increases due to evolution, detecting code smells, which indicate potential issues in the code, becomes increasingly challenging. This research aims to develop code smell visualizations in software evolution to enhance developers' understanding of code structure, the occurrence of code smells, and available refactoring options. Using a metric-based detection strategy, a visualization prototype was designed for five types of code smells: Data Class, Feature Envy, Large Class, Long Method, and Refused Bequest. The main contributions of this research include the development of a code smell visualization prototype for Java-based software and its evaluation, measured by functionality, effectiveness, efficiency, usability, and usefulness factors. Functionality evaluation shows that the detection results are similar to JDeodorant, a detection application used in previous research. In effectiveness evaluation, 2D metric-based visualization showed the highest accuracy (92.9%) in improving understanding of version and class counts, compared to 78.6% in previous research visualizations and 64.3% in 3D metric-based visualizations. For improving understanding of code smells and refactoring, the 2D metric-based visualization had an accuracy of 71.4%, which is 28.5% higher than the previous research visualization's 42.9%, while the 3D metric-based visualization achieved an accuracy of 57.1%, 14.2% higher than the previous research visualization. Efficiency evaluation shows that the 2D metric-based visualization is approximately 58.4% more efficient than the previous research visualization, while the 3D metric-based visualization is about 37.3% more efficient. Usability evaluation indicates that most participants found the 2D metric-based visualization easier to use compared to the previous research visualization, while the 3D metric- based visualization had similar results to the previous research visualization, although it was generally considered easier to use. Usefulness evaluation shows positive results, indicating that this visualization is considered useful.