Publikation

Zurück zur Übersicht

Marea: a Semi-automatic Decision Support System for Breaking Dependency Cycles

Publikationsart Peer-reviewed
Publikationsform Tagungsbeitrag (peer-reviewed)
Autor/in Caracciolo Andrea, Aga Bledar, Lungu Mircea, Nierstrasz Oscar
Projekt Agile Software Assessment
Alle Daten anzeigen

Tagungsbeitrag (peer-reviewed)

Titel der Proceedings Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reenginee
Status Angenommen

Open Access

Abstract

Dependency cycles are commonly recognized as one of the most critical quality anti-patterns. Cycles compromise the modularity of a system, prevent proper reuse and increase the cost of maintenance and testing. Many tools are capable of detecting and visualizing package cycles existing within software projects. Unfortunately, detecting cycles is only half of the work. Once detected, cycles need to be removed and this typically results in a complex process that is only partially supported by current tools. We propose a tool that offers an intelligent guidance mechanism to support developers in removing package cycles. Our tool, Marea, simulates different refactoring strategies and suggests the most cost-effective sequence of refactoring operations that will break the cycle. The optimal refactoring strategy is determined based on a custom profit function. Our approach has been validated on multiple projects and executes in linear time.