oZone: Layer identification in the presence of cyclic dependencies

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 pa...

Full description

Saved in:
Bibliographic Details
Published in:Science of computer programming Vol. 78; no. 8; pp. 1055 - 1072
Main Authors: Laval, Jannik, Anquetil, Nicolas, Bhatti, Usman, Ducasse, Stéphane
Format: Journal Article
Language:English
Published: Elsevier B.V 01-08-2013
Elsevier
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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. ► We propose an approach to compute package layers in the presence of cycles. ► It provides a strategy that supports the understanding of unwanted dependencies. ► It provides an organization of packages in multiple layers. ► The approach is validated with a study on two large software systems.
ISSN:0167-6423
1872-7964
DOI:10.1016/j.scico.2012.08.001