Wg. Griswold et al., TOOL SUPPORT FOR PLANNING THE RESTRUCTURING OF DATA ABSTRACTIONS IN LARGE SYSTEMS, IEEE transactions on software engineering, 24(7), 1998, pp. 534-558
Restructuring software to improve its design can lower software mainte
nance costs. One problem encountered during restructuring is formulati
ng the new design. A meaning-preserving program restructuring tool wit
h a star diagram manipulable visualization can help a programmer redes
ign a program based on abstract data types. However, the transformatio
nal support required for meaning-preserving restructuring is costly to
provide. Also, programmers encounter comprehension and recall difficu
lties in complex restructuring tasks. Consequently, transformations we
re replaced with visual and organizational aids that help a programmer
to plan and carry out a complex restructuring. For example, a star di
agram manipulation called trimming was added, which mimics the way tha
t basic restructuring transformations affect the star diagram display,
allowing a programmer to plan a restructuring without depending upon
restructuring transformations. With the ability to annotate trimmed st
ar diagram components, plans can be recorded and later recalled. Progr
ammer-controlled elision was added to help remove clutter from star di
agram views. We implemented a star diagram planning tool for C program
s, measured its elision capabilities, and performed a programmer study
. We found that elision is effective in controlling star diagram size,
and the study revealed that each programming team successfully planne
d its restructuring in rather different, unanticipated ways. These exp
eriments resulted in important improvements in the tool's software des
ign and user interface.