How we refactor, and how we know it
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Gathering refactoring data: a comparison of four methods
Proceedings of the 2nd Workshop on Refactoring Tools
Concepts of modeling architectural module views for compliance checks based on architectural styles
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Controlling software architecture erosion: A survey
Journal of Systems and Software
On the existence of high-impact refactoring opportunities in programs
ACSC '12 Proceedings of the Thirty-fifth Australasian Computer Science Conference - Volume 122
Towards extensive software architecture erosion repairs
ECSA'13 Proceedings of the 7th European conference on Software Architecture
Hi-index | 0.00 |
Software refactoring has been identified as a key technique for the maintenance and evolution of object oriented systems. Most interesting are high-impact refactorings, that is, refactorings that have a strong impact on the quality of the system's architecture. "Bad smells" and code metrics have been suggested as means for identifying refactoring needs. According to our experience these techniques are useful, yet, in order to spot opportunities for high-impact refactorings, they should be complemented with the analysis of architectural violations. The subject of this report is a mid-sized Java enterprise application from the telecommunications domain whose functionality had to be radically extended. We show how we combined several tools and techniques to identify opportunities for high-impact refactorings, and discuss the resulting architecture, the refactoring process, too1 support as well as related experiences.