ACM Home Page
Please provide us with feedback. Feedback
Tool support for planning the restructuring of data abstractions in large systems
Full text PdfPdf (3.57 MB)
Source Foundations of Software Engineering archive
Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering table of contents
San Francisco, California, United States
Pages: 33 - 45  
Year of Publication: 1996
ISBN:0-89791-797-9
Also published in ...
Authors
William G. Griswold  Department of Computer Science and Engineering, University of California, San Diego, La Jolla, CA
Morison I. Chen  GDE Systems, Inc., 16250 Technology Dr, San Diego, CA
Robert W. Bowdidge  IBM T.J. Watson Research Center, P.O. Box 704, Yorktown Heithts NY
J. David Morgenthaler  Department of Computer Science and Engineering, University of California, San Diego, La Jolla, CA
Sponsor
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 15,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/239098.239107
What is a DOI?

ABSTRACT

Restructuring software to improve its design can lower software maintenance costs. One problem in carrying out such a restructuring is planning the new detailed design. The star diagram manipulable visualization can help a programmer redesign a program based on abstract data types. However, our measurements revealed that the view can be too large for a programmer to effectively assimilate. Also, design plans can be expressed only by restructuring, although our studies revealed that it is beneficial to preplan a restructuring. Finally, the tool user can build a star diagram for only a single data structure, although an abstract data type might actually have several components or have multiple instantiations.Exploiting basic properties of the star diagram can mitigate these problems. First, programmer-controlled elision can remove clutter from the star diagram view. Second, elision and annotation of star diagram components can mimic restructuring, thereby supporting the planning of a restructuring. Such support also allows for the planning of a non-restructuring maintenance task. Finally, to dynamically control what data structures are visualized, the tool user can union star diagrams.We built a star diagram planning tool for C programs, measured its elision capabilities, and performed a programmer study for the encapsulation of a widely-used data structure in a 28,000 line program. We found that the amount of elision can be substantial, but is not always adequate. In the study we found that each programming team successfully planned their restructuring in rather different, unanticipated ways.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
Adams 80
S. Adams. Pirate's adventure. Byte, 5(12):192-212, December 1980.
 
Ball & Eick 94
T. Ball and S. G. Eick, Visualizing program slices. In Proceedings of the IEEE Symposium on Visual Languages, pages 288-295, October 1994.
 
Belady & Lehman 71
 
Boehm 75
B. W. Boehm. The high cost of software. In E, Horowitz, editor, Practical Strategies for Developing Large Software Systems. Addison-Wesley, Reading, MA, 1975.
Bowdidge & Griswold 94
 
Bowdidge 95
 
Brothers 89
L, Brothers. omega {A complex, rogue-like game of dungeon exploration}, Copyright 1989. Available from: brothers@paul.rutgers.edu.
 
Chen 96
M. L Chen. A tool for planning the restructuring of data abstractions in large systems. Masters Thesis, University of California, San Diego, Department of Computer Science and Engineering, February 1996. Technical Report CS96-472.
 
Eick et al. 92
 
Flor & Hutchins 91
N. V. Flor and E. L. Hutchins. Analyzing distributed cognition in software teams: A case study of team programming during perfective software maintenance. In J. Koenemann-Belliveau, T. G. Moher, and S. P. Robertson, editors, Empirical Studies of Programmers: Fourth Workshop, pages 36-64. Ablex, Norwood, NJ, 1991.
 
Flor 94
N. Flor. Dynamic Organization in Multi-Agent Distributed Cognitive Systems. PhD dissertation, Cognitive Science Department, University of California, San Diego, 1994.
Griswold & Notkin 93
 
Griswold 91
 
Johnson & Opdyke 93
 
Lientz & Swanson 80
Liskov & Zilles 74
 
Miyake 86
N. Miyake. Constructive interaction and the iterative process of understanding, Cognitive Science, 10(2):151-177, 1986.
Muller et al. 92
 
Opdyke 92
W. F. Opdyke. Refactoring: A Program Restructuring Aid in Designing Object-Oriented Applications Frameworks. PhD dissertation, University of Illinois at Urbana-Champaign, Dept. of Computer Science, 1992. Technical Report No. 1759.
Parnas 72
 
Stallman 93
R. Stallman. GNU Emacs (The extensible selfdocumenting text editor). Free Software Foundation, Cambridge, MA., November 1993. Available by anonymous ftp at prep. ai. mit. edu/pub/gnu.
 
Weick 68
K. E. Weick. Systematic observational methods. In G. Lindzey and E. Aronson, editors, The Handbook of Social Psychology, pages 357451. Addison-Wesley, Reading, MA, 1968.
 
Weiser 84
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, SE-10(4):352-357, July 1984.
Wildman 95

CITED BY  10

Collaborative Colleagues:
William G. Griswold: colleagues
Morison I. Chen: colleagues
Robert W. Bowdidge: colleagues
J. David Morgenthaler: colleagues