ACM Home Page
Please provide us with feedback. Feedback
Automated assistance for program restructuring
Full text PdfPdf (2.87 MB)
Source ACM Transactions on Software Engineering and Methodology (TOSEM) archive
Volume 2 ,  Issue 3  (July 1993) table of contents
Pages: 228 - 269  
Year of Publication: 1993
ISSN:1049-331X
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): 7,   Downloads (12 Months): 57,   Citation Count: 42
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/152388.152389
What is a DOI?

ABSTRACT

Maintenance tends to degrade the structure of software, ultimately making maintenance more costly. At times, then, it is worthwhile to manipulate the structure of a system to make changes easier. However, manual restructuring is an error-prone and expensive activity. By separating structural manipulations from other maintenance activities, the semantics of a system can be held constant by a tool, assuring that no errors are introduced by restructuring. To allow the maintenance team to focus on the aspects of restructuring and maintenance requiring human judgment, a transformation-based tool can be provided—based on a model that exploits preserving data flow dependence and control flow dependence—to automate the repetitive, error-prone, and computationally demanding aspects of restructuring. A set of automatable transformations is introduced; their impact on structure is described, and their usefulness is demonstrated in examples. A model to aid building meaning-preserving restructuring transformations is described, and its realization in a functioning prototype tool for restructuring Scheme programs is discussed.


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
~ALLEN, F. E., AND COCKE, J. A catalogue of optimizing transformations. In R. Rustin, editor, ~Design and Opttmization of Compilers. Prentice-Hall, Englewood Cliffs, N J, 1972.
 
4
~ARNOLD, R. S. An introduction to software restructuring. In Tutorial on Software Restruc- ~turing. Society Press (IEEE), Washington~ D.C., 1986.
 
5
~BALZER, R. Automated enhancement of knowledge representations. In Proceedings of the ~9th International Joint Conference on Arttficial Intelligence (Aug. 1985), 203 207.
6
 
7
~BELADY, L. A., AND LE~MAN, M.M. A model of large program development. IBM Syst. J. 15, ~3 (1976), 225-252.
 
8
 
9
10
11
12
 
13
 
14
~COLLOFELLO, J. S., AND BUCK, J. J. Software quality assurance for maintenance. IEEE ~Comput. (Sept. 1987), 46 51.
15
16
 
17
 
18
 
19
~FEATHER, M.S. Specification evolution and program (re)transformation. In Proceedtngs of ~the 5th RADC Knowledge-Based Software Assistant Conference (Sept. 1990).
20
 
21
~FEDERAL SOFTWARE MANAGEMENT SUPPORT CENTER. Parallel test and productivity evalua- ~tion of a commercially supplied COBOL restructuring tool. Tech. Rep., Office of Software ~Development and Information Technology, Washington, D.C., 1987.
22
 
23
 
24
~GRISWOLD, W G. Program restructuring to aid software maintenance. Ph.D. dissertation, ~Univ. of Washington, Dept. of Computer Science and Engineering, Seattle, Wash., 1991. ~Tech. Rep. No. 91-08-04.
25
 
26
~GRISWOLD, W. G., AND NOTKIN, D. Semantic manipulation of program source. Tech. Rep ~91-08-03, Univ. of Washington, Dept of Computer Science and Engineering, Seattle, Wash., ~1991.
27
28
29
30
31
 
32
 
33
 
34
~LEwis, T. IEEE Computer (Jan. 1990). Special Issue on Software Engineering.
 
35
36
 
37
~MORGAN, H. W. Evolution of a software maintenance tool. In Proceedzngs of the 2nd ~National Colzference EDP Software Mozntenance (1984), 268 278.
 
38
~NARAYANASWAMY, K., AND COHEN, D. An assessment of the AP5 programming ~language theory and experience. Tech Rep., Information Sciences Inst., Univ. of Southern ~California, Los Angeles, 1991.
 
39
 
40
~PARNAS, D.L. Designing software for ease of extension and contraction. IEEE Trans. So{tw ~Eng. SE-5, 2 (Mar. 1979), 128 138.
41
 
42
43
 
44
 
45
 
46
~SELKE, R. P. Transforming program dependence graphs. Tech. Rep. TR90-131, Dept. of ~Computer Science, Rice Univ., Houston, Tex., 1990.
47
 
48
~STANKOVIC, J. Good system structure features: Their complexity and execution time cost. ~IEEE Trans. Softw. Eng. SE-8, 4 (July 1982), 306-318.
 
49
 
50
51
52
53
 
54
~WEISER, M. Program slicing. IEEE Trans. Softw. Eng. SE-IO, 4 (July 1984), 352-357.
 
55
~WmHAMS, M. H., AND OSSHER, H. L. Conversion of unstructured flow diagrams to struc- ~tured form. Comput. J. 21, 2 (1977), 161-167.
 
56
 
57
~YANG, W., HORWITZ, S., AND REPS, T. Detecting program components with equivalent ~behaviors. Tech. Rep. 840, Computer Sciences Dept., Univ. of Wisconsin, Madison, 1989.

CITED BY  42

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