Bad design choices can introduce architectural smells into the systems. These problems are detrimental for the systems’ quality, maintainability and clarity. For this reason, refactoring is an important process which has to be performed during development.
We are studying the refactoring process on different architectural smells to find the more efficient refactoring techniques which require the least possible effort by developers.
Cyclic Dependency is the architectural smell that we have studied deeper, proposing a technique to order them depending on their criticality and showing to developers which cycles can be more detrimental for the system.
Rizzi, L., Fontana, F.A. and Roveda, R., 2018. Support for architectural smell refactoring. In: Proceedings of the 2nd International Workshop on Refactoring (IWoR), Montpellier, France, pp. 7-10.