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:
Main Author: | |
---|---|
Format: | Theses |
Language: | Indonesia |
Online Access: | https://digilib.itb.ac.id/gdl/view/86175 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Institut Teknologi Bandung |
Language: | Indonesia |
Summary: | 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. |
---|