Identifying Cycle Causes with Enriched Dependency Structural Matrix

  • Authors:
  • Jannik Laval;Simon Denier;Stephane Ducasse;Alexandre Bergel

  • Affiliations:
  • -;-;-;-

  • Venue:
  • WCRE '09 Proceedings of the 2009 16th Working Conference on Reverse Engineering
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Dependency Structure Matrix (DSM) has been successfully applied to identify software dependencies among packages and subsystems. A number of algorithms were 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 which is crucial to support remediation tasks.In this paper we present enriched DSM (eDSM) where cells are enriched with contextual information about (i) the type of dependencies (inheritance, class reference...), (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 reengineering environment. It has been applied tonon-trivial case studies among which ArgoUML, andMorphic the UI framework available in two open-sourceSmalltalks, Squeak andPharo. Solution to problems identified by eDSM have been performed and retrofitted in Pharo main distribution.