Supporting simultaneous versions for software evolution assessment
Science of Computer Programming
Efficient retrieval and ranking of undesired package cycles in large software systems
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
oZone: Layer identification in the presence of cyclic dependencies
Science of Computer Programming
AspectMaps: Extending Moose to visualize AOP software
Science of Computer Programming
A study of cyclic dependencies on defect profile of software components
Journal of Systems and Software
Hi-index | 0.00 |
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.