Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Object-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
Improving evolvability through refactoring
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Scalable, expressive, and context-sensitive code smell display
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Identifying Architectural Bad Smells
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
How we refactor, and how we know it
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Combating architectural degeneration: a survey
Information and Software Technology
DECOR: A Method for the Specification and Detection of Code and Design Smells
IEEE Transactions on Software Engineering
An exploratory study of code smells in evolving aspect-oriented systems
Proceedings of the tenth international conference on Aspect-oriented software development
WitchDoctor: IDE support for real-time auto-completion of refactorings
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
Refactoring tends to avoid the early deviation of a program from its intended architecture design. However, there is little knowledge about whether the manifestation of code smells in evolving software is indicator of architectural deviations. A fundamental difficulty in this process is that developers are only equipped with static analysis techniques for the source code, which do not exploit traceable architectural information. This work addresses this problem by: (1) identifying a family of architecturally-relevant code smells; (2) providing empirical evidence about the correlation of code smell patterns and architectural degeneration; (3) proposing a set of metrics and detection strategies and that exploit traceable architectural information in smell detection; and (4) conceiving a technique to support the early identification of architecture degeneration symptoms by reasoning about code smell patterns.