Enriched DSM (Dependencies Structure Matrix) is a tool to analyze dependencies between packages of a system. Particularly, it presents a solution to detect cycles and to make proposal to remove it. It is developed by Jannik Laval.
It is a matrix with enriched cells showing contextual information about the kinds of references found in the code (inheritance, class accesses, invocations and class extensions), the proportion of referencing entities, the proportion of referenced entities.
The sources can be found at: http://www.squeaksource.com/dsm.html
Or execute this source code in Pharo:
Gofer new squeaksource: 'dsm'; package: 'ConfigurationOfDSM'; load. (Smalltalk at: #ConfigurationOfDSM) perform: #load