A dynamic object process graph is a view on the control flow graph from the perspective of a single object. It has been shown that such a graph can be a useful starting point for...
We present a method to detect and visualize evolution patterns in C++ source code. Our method consists of three steps. First, we extract an annotated syntax tree (AST) from each v...
The analysis of the evolution of software systems is a useful source of information for a variety of activities, such as reverse engineering, maintenance, and predicting the future...
Recovering the architecture is the first step towards reengineering a software system. Many reverse engineering tools use top-down exploration as a way of providing a visual and ...
Software applications typically have many features that vary in their similarity. We define a measurement of similarity between pairs of features based on their underlying implem...
Jay Kothari, Trip Denton, Spiros Mancoridis, Ali S...