Efficient retrieval and ranking of undesired package cycles in large software systems

  • Authors:
  • Jean-Rémy Falleri;Simon Denier;Jannik Laval;Philippe Vismara;Stéphane Ducasse

  • Affiliations:
  • Université de Bordeaux;Rmod, USTL, INRIA Lille Nord Europe;Rmod, USTL, INRIA Lille Nord Europe;LIRMM, UMR, CNRS, Université Montpellier 2 and MISTEA, UMR, INRA;Rmod, USTL, INRIA Lille Nord Europe

  • Venue:
  • TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many design guidelines state that a software system architecture should avoid cycles between its packages. Yet such cycles appear again and again in many programs. We believe that the existing approaches for cycle detection are too coarse to assist the developers to remove cycles from their programs. In this paper, we describe an efficient algorithm that performs a fine-grained analysis of the cycles among the packages of an application. In addition, we define a metric to rank cycles by their level of undesirability, prioritizing the cycles that seems the more undesired by the developers. Our approach is validated on two large and mature software systems in Java and Smalltalk.