Assessing the impact of bad smells using historical information
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
A domain analysis to specify design defects and generate detection algorithms
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Identifying Extract Class refactoring opportunities using structural and semantic cohesion measures
Journal of Systems and Software
Identifying method friendships to remove the feature envy bad smell (NIER track)
Proceedings of the 33rd International Conference on Software Engineering
Identification and application of Extract Class refactorings in object-oriented systems
Journal of Systems and Software
Refactoring software packages via community detection in complex software networks
International Journal of Automation and Computing
Investigating the evolution of code smells in object-oriented systems
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
Software decay is a phenomenon that plagues aging software systems. While in recent years, there has been significant progress in the area of automatic detection of "code smells" on one hand, and code refactorings on the other hand, we claim that existing restructuring practices are seriously hampered by their symptomatic and informal (non-repeatable) nature. This paper makes a clear distinction between structural problems and structural symptoms (also known as code smells), and presents a novel, causal approach to restructuring object oriented systems. Our approach is based on two innovations: the encapsulation of correlations of symptoms and additional contextual information into higher-level design problems, and the univocal, explicit mapping of problems to unique refactoring solutions. Due to its explicit, repeatable nature, the approach shows high potential for increased levels of automation in the restructuring process, and consequently a decrease in maintenance costs.