Supporting the restructuring of data abstractions through manipulation of a program visualization
University of California, San Diego, 1995 - Computers - 370 pages
Abstract: "With a meaning-preserving restructuring tool, a software engineer can change a program's structure to ease future modifications. However, deciding how to restructure the program requires a global understanding of the program's structure, which cannot be derived easily by directly inspecting the source code. We describe a manipulable program visualization -- the star diagram -- that supports the restructuring task of encapsulating a global data structure. The star diagram graphically displays information pertinet to encapsulation, and direct manipulation of the diagram causes the underlying program to be restructured. The visualization compactly presents all statements in the program that use the given global data structure, helping the programmer to choose the functions that completely encapsulate it. Additionally, the visualization elides code unrelated to the data structure and to the task, and collapses similar expressions to help the programmer identify frequently occurring code fragments and manipulate them together. The visualization is mapped directly to the program text, so manipulation of the visualization also restructures the program. We present the star diagram concept and describe an implementation of the star diagram built upon a meaning-preserving restructuring tool for Scheme. We also describe our creation of star diagram generators for C programs, and test the scalability of the star diagram using large C and MUMPS programs."
What people are saying - Write a review
We haven't found any reviews in the usual places.
The Star Diagram Concept
Design and Construction of Star Diagrams
Limitations and Extensions of the Star Diagram Concept
7 other sections not shown
abstract data type abstract syntax tree allwords alph-index assembly language assignment AST node behavior button Chapter cohesive computations context create functions create star diagrams creating the star csline csword data structure dataflow describe display emacs encapsulation ERNIE examine example Extract Figure function call function definition function nodes get-line global grep help the programmer highlight identify implementation Inline Inline Function inline-parameter interface functions KWIC lambda language large programs lineno macros manipulate matching mbuf modification module multiple MUMPS nesting nodes representing occur operations parameters parsed perform restructuring printf programmers perform programming language references regular expression requires restructuring transformations result route-distance scope similar expressions single slicing source code specific star arms star diagram algorithm star diagram arms star diagram concept star diagram node star diagram visualization statements successor function text view text-based restructuring tool tool user understanding UNIX tools variable