Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Extreme programming explained: embrace change
Extreme programming explained: embrace change
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
CSMR '01 Proceedings of the Fifth European Conference on Software Maintenance and Reengineering
Java Quality Assurance by Detecting Code Smells
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
Using History Information to Improve Design Flaws Detection
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Assessing architectural evolution: a case study
Empirical Software Engineering
Leveraging code smell detection with inter-smell relations
XP'06 Proceedings of the 7th international conference on Extreme Programming and Agile Processes in Software Engineering
To what extent can maintenance problems be predicted by code smell detection? - An empirical study
Information and Software Technology
Hi-index | 0.00 |
Bad smells are indicators of inappropriate code design and implementation. They suggest a need for refactoring, i.e. restructuring the program towards better readability, understandability and eligibility for changes. Smells are defined only in terms of general, subjective criteria, which makes them difficult for automatic identification. Existing approaches to smell detection base mainly on human intuition, usually supported by code metrics. Unfortunately, these models do not comprise the full spectrum of possible smell symptoms and still are uncertain. In the paper we propose a multi-criteria approach for detecting smells adopted from UTA method. It learns from programmer's preferences, and then combines the signals coming from different sensors in the code and computes their utility functions. The final result reflects the intensity of an examined smell, which allows the programmer to make a ranking of most onerous odors.