Note for the reader: this paper makes heavy use of colors in the figures. Please obtain and read an online (colored) version of this paper to better understand the ideas presented in this paper.
Extended Conference Paper
Resolving cyclic dependencies between packages with enriched dependency structural matrix†
Article first published online: 20 NOV 2012
Copyright © 2012 John Wiley & Sons, Ltd.
Software: Practice and Experience
Volume 44, Issue 2, pages 235–257, February 2014
How to Cite
Laval, J. and Ducasse, S. (2014), Resolving cyclic dependencies between packages with enriched dependency structural matrix. Softw: Pract. Exper., 44: 235–257. doi: 10.1002/spe.2164
- Issue published online: 2 JAN 2014
- Article first published online: 20 NOV 2012
- Manuscript Accepted: 10 OCT 2012
- Manuscript Revised: 9 OCT 2012
- Manuscript Received: 7 JUN 2011
- software visualization;
- dependency structural matrix;
- dependency analysis
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 DSM (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, and (iii) the proportion of referenced entities. We distinguish independent cycles and stress potentially simple fixes for cycles by 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 on the basis of 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. Copyright © 2012 John Wiley & Sons, Ltd.