|
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
|
|
CITED BY 5
|
|
|
|
|
|
|
|
|
|
|
Reid Kerr , Wolfgang Stuerzlinger, Context-sensitive cut, copy, and paste, Proceedings of the 2008 C3S2E conference, May 12-13, 2008, Montreal, Quebec, Canada
|
|
|
|
|