The notion of functional or modular dependency is fundamental to understand the architecture and inner workings of any software system. In this paper, we propose to extend that no...
Dynamic protocol recovery tries to recover a component’s sequencing constraints by means of dynamic analysis. This problem has been tackled by several automaton learning approac...
When trying to understand the evolution of a software system it can be useful to visualize the evolution of the system’s architecture. Existing tools for viewing architectural e...
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...