ACM Home Page
Please provide us with feedback. Feedback
Computer-aided vs. manual program restructuring
Full text PdfPdf (872 KB)
Source ACM SIGSOFT Software Engineering Notes archive
Volume 17 ,  Issue 1  (January 1992) table of contents
Pages: 33 - 41  
Year of Publication: 1992
ISSN:0163-5948
Authors
William G. Griswold  Univ. of California, San Diego
David Notkin  Univ. of Washington, Seattle
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 19,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

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

ABSTRACT

Restructuring a software system as it evolves promises to reduce associated maintenance costs. To simplify restructuring, we have developed a tool that preserves the meaning of a program as the engineer applies structural transformations. To help evaluate the prototype tool and its underlying approach, we ran an experiment to compare how people using standard editing tools restructure a program against the computer-aided style that our tool supports.We drew three conclusions from the experiment. First, the subjects generally used a mix of copy/paste and cut/paste editing paradigms; our tool gives the engineer the safety of copy/paste and the speed of cut/paste. Second, most of the subjects made mistakes, including simple syntactic errors and semantic errors (such as not updating the call site after modifying a function definition); our tool avoids errors by the engineer using compensation (for instance, it automatically updates call sites when a procedure definition is changed) or by signalling an error. Third, manual restructuring tends to be haphazard, with engineers handling the order of changes, testing, etc. in inconsistent and potentially error-prone ways; by separating restructuring from functional maintenance and by ensuring preservation of meaning during restructuring, our approach can make the maintenance process more orderly.


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.

 
1
2
 
3
 
4
[Donzeau-Gouge et al. 80] V. Donzeau-Gouge et al. Programming environments based on structure editors: the mentor experience. Technical Report 26, INRIA, May 1980.
 
5
 
6
[Griswold & Notkin 90] W. Griswold and D. Notkin. Program restructuring to aid software maintenance. Technical Report 90-08-05, University of Washington, Dept. of Computer Science & Engineering, 1990. Revised January 1991.
 
7
[Griswold 91] W. G. Griswold. Program Restructuring to Aid Software Maintenance. PhD dissertation, University of Washington, Dept. of Computer Science & Engineering, 1991. To appear.
 
8
 
9
 
10
[Lehman 78] M. M. Lehman. Laws of program evolution-rules and tools for programming management. In Proceedings of the Infotech State of the Art Conference: 'Why Software Projects Fail', 1978. Page citations from reprint in M. M. Lehman, L. A. Belady, editors, Program Evolution: Processes of Software Change, Ch. 12, APIC Studies in Data Processing No. 27. Academic Press, London, 1985.
11
12


Collaborative Colleagues:
William G. Griswold: colleagues
David Notkin: colleagues