Title
Marea: A Semi-Automatic Decision Support System for Breaking Dependency Cycles
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.
Year
DOI
Venue
2016
10.1109/SANER.2016.11
2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)
Keywords
Field
DocType
dependency cycles,software analysis,decision support system,refactoring,tool
Software engineering,Reuse,Computer science,Software analysis pattern,Decision support system,Software,Time complexity,Code refactoring,Modularity,Reliability engineering
Conference
Volume
Citations 
PageRank 
1
0
0.34
References 
Authors
13
4
Name
Order
Citations
PageRank
Andrea Caracciolo1212.84
Bledar Aga200.34
Mircea Lungu354539.17
Oscar Nierstrasz42404346.86