Title
oZone: Layer identification in the presence of cyclic dependencies
Abstract
A layered software architecture helps in understanding the role of software entities (e.g. packages or classes) in a system and, hence, the impact of changes on these entities. However, the computation of an optimal layered organization in the presence of cyclic dependencies is difficult. In this paper, we present an approach that (i) provides a strategy supporting the automated detection of cyclic dependencies, (ii) proposes heuristics to break cyclic dependencies, and (iii) computes an organization of software entities in multiple layers even in the presence of cyclic dependencies. Our approach performs better than the other existing approaches in terms of accuracy and interactivity, and it supports human inputs and constraints. In this paper, we present this approach and compare it to existing solutions. We applied our approach on two large software systems to identify package layers and the results are manually validated by software engineers of the two systems.
Year
DOI
Venue
2013
10.1016/j.scico.2012.08.001
Sci. Comput. Program.
Keywords
Field
DocType
automated detection,human input,layered software architecture,layer identification,software entity,existing approach,large software system,cyclic dependency,multiple layer,software engineer,optimal layered organization,cycle
Interactivity,Computer science,Software system,Theoretical computer science,Software,Heuristics,Ozone layer,Software architecture,Dependency theory (database theory),Computation,Distributed computing
Journal
Volume
Issue
ISSN
78
8
0167-6423
Citations 
PageRank 
References 
8
0.59
33
Authors
4
Name
Order
Citations
PageRank
Jannik Laval111613.63
Nicolas Anquetil299671.79
Muhammad Usman Bhatti3285.43
Stéphane Ducasse43418243.15