Efficiently Computing Static Single Assignment Form and the Control Dependence Graph, Ron Cytron and Jeanne Ferrante and Barry K. Rosen and Mark N. Wegman and F. Kenneth Zadeck
@Article{ cytron.ferrante.ea:efficiently,
author = {Ron Cytron and Jeanne Ferrante and Barry K. Rosen and Mark
N. Wegman and F. Kenneth Zadeck},
title = {Efficiently Computing Static Single Assignment Form and
the Control Dependence Graph},
journal = {ACS Transaction on Programming Languages and Systems},
year = {1991},
volume = {13},
number = {4},
pages = {451-490},
month = {October},
abstract = {In optimizing compilers, data structure choices directly
influence the power and efficiency of practical program
optimization. A poor choice of data structure can inhibit
optimization or slow compilation to the point that advanced
optimization features become undesirable. Recently, static
single assignment form and the control dependence graph
have been proposed to represent data flow and control flow
propertiee of programs. Each of these previously unrelated
techniques lends efficiency and power to a useful class of
program optimization. Although both of these structures are
attractive, the difficulty of their construction and their
potential size have discouraged their use. We present new
algorithms that efficiently compute these data structures
for arbitrary control flow graphs. The algorithms use
dominance frontiers, a new concept that may have other
applications. We also give analytical and experimental
evidence that all of these data structures are usually
linear in the size of the original program. This paper thus
presents strong evidence that these structures can be of
practical use in optimization.},
keywords = {algorithms languages control dependence control flow graph
def-use chain dominator optimizing compilers ssa},
class = {Software_Reverse_Engineering Static_Data_Flow_Analysis
Reverse_Design Static_Control_Flow_Analysis
Fundamental_Methods_in_Reverse_Design Static_Analysis }
}
Reengineering Class Hierarchies using Concept Analysis, G. Snelting, and F. Tip
@InProceedings{ g-snelting.tip:reengineering,
author = {G. Snelting, and F. Tip},
title = {Reengineering Class Hierarchies using Concept Analysis},
booktitle = {Proc. SIGSOFT Symposium on Foundations of Software
Engineering},
publisher = {ACM},
year = {1998},
key = {Concept Analysis},
class = {Inhertiance_Hierarchies_Restructuring
Software_Reverse_Engineering Static_Data_Flow_Analysis
Reverse_Design Re-Design Static_Control_Flow_Analysis
Fundamental_Methods_in_Reverse_Design Alteration
Static_Analysis }
}