To extract abstract views of the behavior of an object-oriented system for reverse engineering, a body of research exists that analyzes a system’s runtime execution. Those approa...
Refactoring makes existing source code more understandable and reusable without changing observable behavior. Therefore, applying refactorings to existing source code and reversin...
Aspect mining requires adequate tool support to locate source code elements implementing crosscutting concerns (aka seeds), to explore and understand relations describing these el...
Requirements views, such as coverage and status views, are an important asset for monitoring and managing software development. We have developed a method that automates the proce...
Software maintenance and evolution can be made easier if program comprehension techniques are used. Understanding a software system would typically necessitate a combination of st...