Resolving cyclic dependencies between packages with Enriched Dependency Structural Matrix

Jannik Laval 1 Stéphane Ducasse 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : Dependency Structural Matrix (DSM) is an approach originally developed for process optimization. It has been successfully applied to identify software dependencies among packages and subsystems. A number of algorithms have been proposed to compute the matrix so that it highlights patterns and problematic dependencies between subsystems. However, existing DSM implementations often miss important information to fully support reengineering effort. For example, they do not clearly qualify and quantify problematic relationships, information that is crucial to support remediation tasks. We propose Enriched Dependency Structural Matrix (eDSM), which provides small multiple views and micro-macro readings by adding fine-grained information in each cell of the matrix. Each cell is enriched with contextual information about (i) the type of dependencies (inheritance, class reference, etc.), (ii) the proportion of referencing entities, (iii) the proportion of referenced entities. We distinguish independent cycles and stress potentially simple fixes for cycles using coloring information. This work is language independent and has been implemented on top of the Moose software analysis platform. In this paper, we expand our previous work. We improved the cell content information view based on user feedback and performed multiple validations: two different case studies on Moose and Seaside software; one user study for validating eDSM as a usable approach for developers. Solutions to problems identified with eDSM have been performed and retrofitted in analyzed software.
Type de document :
Article dans une revue
Software: Practice and Experience, Wiley, 2012
Liste complète des métadonnées

Littérature citée [43 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-00748120
Contributeur : Lse Lse <>
Soumis le : samedi 4 mai 2013 - 07:00:18
Dernière modification le : jeudi 11 janvier 2018 - 06:22:25
Document(s) archivé(s) le : vendredi 31 mars 2017 - 15:30:04

Fichier

Lava12z-ResolvingCyclicDepende...
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-00748120, version 1

Citation

Jannik Laval, Stéphane Ducasse. Resolving cyclic dependencies between packages with Enriched Dependency Structural Matrix. Software: Practice and Experience, Wiley, 2012. 〈hal-00748120〉

Partager

Métriques

Consultations de la notice

523

Téléchargements de fichiers

252