| Tool support for planning the restructuring of data abstractions in large systems |
| Full text |
Pdf
(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 |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 3, Downloads (12 Months): 15, Citation Count: 10
|
|
|
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
|
H. A. Müller , S. R. Tilley , M. A. Orgun , B. D. Corrie , N. H. Madhavji, A reverse engineering environment based on spatial and visual software interconnection models, Proceedings of the fifth ACM SIGSOFT symposium on Software development environments, p.88-98, December 09-11, 1992, Tyson's Corner, Virginia, United States
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Macneil Shonle , Jonathan Neddenriep , William Griswold, AspectBrowser for Eclipse: a case study in plug-in retargeting, Proceedings of the 2004 OOPSLA workshop on eclipse technology eXchange, p.78-82, October 24-24, 2004, Vancouver, British Columbia, Canada
|
|
|
William G. Griswold , Morison I. Chen , Robert W. Bowdidge , Jenny L. Cabaniss , Van B. Nguyen , J. David Morgenthaler, Tool Support for Planning the Restructuring of Data Abstractions in Large Systems, IEEE Transactions on Software Engineering, v.24 n.7, p.534-558, July 1998
|
|
|
|
|
|
|
|
|
|
|
|
|
|