| |
[Download
PDF here!]
Authors: Vladimir Jakobac,
Alexander Egyed, Nenad Medvidovic
In situations
in which developers are not familiar with a system or its documentation is
inadequate, the system’s source code becomes the only reliable source of
information. Unfortunately, source code has much more detail than is needed
to understand the system, and it disperses or obscures high-level con-structs
that would ease the system’s understanding. Automated tools can aid system
understanding by identifying recurring program features, classifying the
system modules based on their purpose and usage patterns, and analyzing
de-pendencies across the modules. This paper presents an iterative,
user-guided ap-proach to program understanding based on a framework for
analyzing and visu-alizing software systems. The framework is built around a
pluggable and extensible set of clues about a given problem domain, execution
environment, and/or programming language. We evaluate our approach by
providing the analysis of our tool’s results obtained from several case
studies
|
|