ACM Home Page
Please provide us with feedback. Feedback
Direct update of data flow representations for a meaning-preserving program restructuring tool
Full text PdfPdf (1.64 MB)
Source Foundations of Software Engineering archive
Proceedings of the 1st ACM SIGSOFT symposium on Foundations of software engineering table of contents
Los Angeles, California, United States
Pages: 42 - 55  
Year of Publication: 1993
ISBN:0-89791-625-5
Also published in ...
Author
Sponsor
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 16,   Citation Count: 3
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/256428.167063
What is a DOI?

ABSTRACT

Automated assistance for meaning-preserving global restructuring is an approach for helping software engineers improve the structure of programs, thus lowering the costs of maintenance. The consturction of a restructuing tool encounters many conflicting goals---such as simplicity. extensibility, and good performance---that cannot be met without some compromise. In particular, the current technique for assisting restructuring uses a costly program representation---a Program Dependence Graph (PDG) with alias information---that is not practical to recompute from scratch after each restructuring transformation. There are at least two possible solutions. A commonly suggested approach for efficiently updating data flow representations is to use a generic incremental algorithm that does not make use of the special nature of the restructuring. This approach is general, but it does not yet handle aliasing fully. By taking advantage of the special nature of the restructuring transformations it is possible to implement a more efficient update than generic update that also handles aliasing. The idea is to implement direct updates to the PDG that are analogous to the changes on the program text. The downsides to direct update are that it is application-specific, applies only to semantically restricted applications like restructuring, and may be more complex. The choice between the two techniques requires an understanding of the current and future needs of the tool's users.This paper describes the direct approach of updating the PDG and related representations for restructuring, provides techniques for managing its complexity, critiques its advantages and shortcomings relative to generic incremental update, and presents performance results.


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.

 
Aho et al. 86
 
Allen & Cocke 72
F. E. Alten and J. Cocke. A catalogue of optimizing transformations. In R. Rustin, editor, Design and Optimization of Compilers. Prentice-Hall, Englewood Cliffs, NJ, 1972.
Allen 70
 
Belady & Lehman 71
 
Belady & Lehman 76
 
Burke & Ryder 90
Burke 90
Cartwright & Felleisen 89
Chase et al. 90
Choi et al. 91
Cytron et al. 88
Ferrante et al. 87
 
Griswold & Bowdidge 93
Griswold & Notkin 93
 
Griswold 91
W. G. Griswold. Program Restructuring to Aid Software Maintenance. PhD dissertation, University of Washington, Dept. of Computer Science& Engineering, August 1991. Technical Report No. 91-08-04.
Hoare et al. 87
Kuck et al. 81
Landi & Ryder 92
Landi et al. 93
Larus & Hilfinger 88
 
Larus 89
 
Lientz & Swanson 80
Lippe 92
Marlowe & Ryder 90
 
Marlowe & Ryder 91
T. J. Marlowe and B. G. Ryder. Hybrid incremental alias algorithms. In Hawaii International Conference on Systems Sojiware, January 1991.
Parnas 72
 
Parsons 92
 
Podgurski & Clarke 90
 
Pollock & Soffa 89
 
Ramalingam & Reps 89
G. Ramalingam and T. Reps. Semantics of program representation graphs. Technical Report 900, Computer Sciences Departrnent University of Wisconsirr, Madison WI, December 1989.
 
Reps & Teitelbaum 87
Rowe et al. 91
 
Ryder et al. 88
 
Ryder et al. 90
 
Selke 90
R. P. Selke. Transforming program dependence graphs. Technical Report TR90-131, Department of Computer Science, Rice University, Houston, Texas, 1990.
Shivers 88
 
Shivers 91
 
Steele 91
Venkatesh 91
 
Yang 90
 
Yang et at. 89
W. Yang, S. Horwitz, and T. Reps. Detecting program components with equivalent behaviors. Technical Report 840, Computer Sciences Department University of Wisconsin, Madison WI, April 1989.


Collaborative Colleagues:
William G. Griswold: colleagues