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