Information Technology Reference
In-Depth Information
make comprehension even more costly and complex, ranging from the size
of the software to its overall quality. New approaches are then necessary to
ease the comprehension of evolving software systems and their source
code in particular.
To comprehend source code and to understand its evolution, software
visualization approaches have been proposed (e.g. [4][5][6]). The
information used for visualization is software metric data derived from
measurement activities. These visualization approaches are grounded on
metaphors and supporting tools based on 2D and 3D environments
[7][8][9][10], which very often only consider a few types of information
found in source code. For example, the presence of comments in the code
is very often not considered, although this information is relevant to
estimating software maintainability: a well-documented piece of code is
better to maintain than a piece of code that is not documented at all [11].
In addition, the available approaches are grounded on either fine- or large-
grained representations.
In this chapter, we propose an approach to visualize evolving object
oriented software systems based on a forest metaphor. The metaphor is
new from the point of view of software visualization and, compared to
previous metaphors, provides a fine-grained representation of the entire
software system and a large-grained representation of the classes and the
packages they reside in. Therefore, we display classes as trees and
packages as agglomerates of trees (from here on, sub-forests or simply
forests). Visual properties of trees (e.g., trunks and leaves) are mapped
according to well-defined rules with the metrics extracted from the source
code. In addition, releases of subject software are visualized as a forest of
trees that a maintainer can use to understand its evolution at three different
granularity levels: system, package, and class (see Fig. 7.4 ).
To validate our software visualization approach and the implementation
environment, we have also conducted a preliminary empirical investigation
on three open source software systems implemented in Java. The work
presented in this chapter is based on [12][13], and with respect to them we
here provide the following new contributions: (i) a detailed discussion of
the metaphor; (ii) the application of the metaphor to software evolution;
(iii) an extension of the interactive 3D environment; and (iv) the results of
a case study on thirty releases of three open source software systems.
Related Work
Examples may be found in the literature that employ metaphors to visually
represent software systems as natural environments. Among these, the city
Search WWH ::




Custom Search