2002 Forum Home
Program
Keynote
Posters
and Demos
Registration
Accommodations
Directions
For
Posters and Demonstrators
For
External Advisory Committee (EAC)
ISR
Home
|
|

Poster: SoftFlow:
Visualizing the Evolution of Static Dependency Graphs
Student:
Jennifer Bevan
Advisor:
E. James Whitehead
Abstract:
This research promotes system understanding by providing an intuitive
visualization of unstable regions within a software package. These unstable
regions are defined by program segments that have changed together multiple
times, as archived by the software configuration management repository
(SCM repository). Highly unstable regions are expected at interfaces and
in data modules that are not designed and implemented with a consideration
of expected requirement changes. The knowledge of the existence and location
of such regions can promote proactive refactoring of the system.
Current research in static software analysis and software
evolution is merged with an existing hyperbolic 3D visualization technique
as the framework for this research. A time-series of dependence graphs
is created using the source code from the SCM repository, any one of which
can be displayed as a hyperbolic 3D graph embedded within a sphere. The
visualization layout manager, which uses a semantically meaningful spanning
tree as a guide, causes dependence-related subgraphs to be placed within
a conic region in the sphere. The visualization for identifying unstable
regions uses a seismology-based paradigm. Subgraph nodes can be projected
onto the surface of the sphere and grouped into "continents",
such that modular systems will show distinct continents while nonmodular
systems will show many separate islands. Each change checked into the
repository can be considered as an "earthquake", and nodes involved
in the change can be connected on the surface as a "fault line".
The brightness of a fault line can be increased with each additional change,
thereby leading the user to quickly distinguish regions of severe instability
from those with only occasional changes.
Future work involves implementing the surface visualization,
studying which types of dependence graphs work best for subgraph grouping,
and further specifying the type of data to be shown in the detail visualization
for a single fault line. Eventually, metrics related to earthquake magnitude,
depth, and type can be described. Methods of normalizing per-user checkin
patterns should also be investigated, as should filtering the visualized
data based on user, time interval, or user-specified attributes.
|