Reflective facilities in Smalltalk-80
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Maintenance Support for Object-Oriented Programs
IEEE Transactions on Software Engineering - Special issue on software maintenance
TAOS: Testing with Analysis and Oracle Support
ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
Back to the future: the story of Squeak, a practical Smalltalk written in itself
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The algorithm design manual
A refactoring tool for Smalltalk
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
An open graph visualization system and its applications to software engineering
Software—Practice & Experience - Special issue on discrete algorithm engineering
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Program Understanding and Maintenance with the CANTO Environment
ICSM '97 Proceedings of the International Conference on Software Maintenance
Understanding the architecture of software systems
WPC '96 Proceedings of the 4th International Workshop on Program Comprehension (WPC '96)
Aristotle: a system for development of program analysis based tools
ACM-SE 33 Proceedings of the 33rd annual on Southeast regional conference
Designing Software for Ease of Extension and Contraction
IEEE Transactions on Software Engineering
Software Evolution from the Field
Electronic Notes in Theoretical Computer Science (ENTCS)
A pattern language for extensible program representation
Proceedings of the 2006 conference on Pattern languages of programs
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
A pattern language for extensible program representation
Transactions on Pattern Languages of Programming I
oZone: Layer identification in the presence of cyclic dependencies
Science of Computer Programming
Hi-index | 0.00 |
The uses-hierarchy of a Smalltalk program's packages is not easily visible to its maintainer. This sets the stage for a common error-extending a low-level package in a way that makes it depend on a higher level package. Such a mistake introduces a cyclic dependency, which prevents the low-level package, and all others in the cycle, from being reused independently. This paper describes a tool called MudPie that uses well-known techniques to visualize the dependency structure as it is reflected in the code. We apply these techniques to Smalltalk and show how SUnit tests can detect the cycles as they occur. This can help programmers learn a system's package hierarchy and avoid breaking it.