CODE SMELL VISUALIZATION IN SOFTWARE EVOLUTION BASED ON METRIC-BASED DETECTION STRATEGIES

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 deve...

全面介紹

Saved in:
書目詳細資料
主要作者: Novendra Wahyunadi, Eka
格式: Theses
語言:Indonesia
在線閱讀:https://digilib.itb.ac.id/gdl/view/86175
標簽: 添加標簽
沒有標簽, 成為第一個標記此記錄!
實物特徵
總結: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.