Changes of software systems are less expensive and less error-prone if they affect only one subsystem. Thus, clusters of artifacts that are frequently changed together are subsyst...
During the last three years we have been building an instantiation of a system's development paradigm, called ARTS. The paradigm consists of a view of what a system developme...
It has long been accepted that requirements analysis should precede architectural design and implementation, but in software evolution and reverse engineering this concern with bl...
Collections of already developed programs are important resources for efficient development of reliable software systems. In this paper, we propose a novel method of ranking softw...
Accelerating the learning curve of software maintainers working on systems with which they have little familiarity motivated this study. A working hypothesis was that automated me...