Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framework for improving the precision of data-flow analysis in the presence of complex control-flow. We initially perform data-flow analysis to determine those control-flow merges which cause the loss in data-flow analysis precision. The control-flow graph of the program is then restructured such that performing data-flow analysis on the resulting restructured graph gives more precise results. The proposed framework is both simple, involving the familiar notion of product automata, and also general, since it is applicable to any forward or backward data-flow analysis. Apart from proving that our restructuring process is correct, we also show that rest...
Program analysis plays a major role in advanced compilers, yet traditional approaches to data flow a...
Recent work in the area of software engineering has centered on the creation of sophisticated enviro...
Data flow analyses are instrumental to effective compiler optimizations, and are typically implement...
Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framewo...
Data-flow analysis computes its solutions over the paths in a control-flow graph. These paths---whet...
Loss of precision due to the conservative nature of compile-time dataflow analysis is a general prob...
. This paper describes a general purpose program analysis that computes global control-flow and data...
Data flow analysis is used to discover information for a wide variety of useful applications, rangin...
Data-flow analysis is the static analysis of programs to estimate their approximate run-time behavio...
Data-flow program analysis (DFA) is a powerful technique with applications ranging from compiler opt...
The compiler process, the one that transforms a program in a high level language into assembly or bi...
Data-flow analysis is widely used in extracting from source programs useful information for program ...
Control and data flow information is vital for the optimization of high level programming languages....
While software developers make every effort to develop correct, easily maintainable and efficient pr...
Many software engineering tools such as program slicers must perform data-flow analysis in order to ...
Program analysis plays a major role in advanced compilers, yet traditional approaches to data flow a...
Recent work in the area of software engineering has centered on the creation of sophisticated enviro...
Data flow analyses are instrumental to effective compiler optimizations, and are typically implement...
Data-flow analysis is an integral part of any aggressive optimizing compiler. We propose a framewo...
Data-flow analysis computes its solutions over the paths in a control-flow graph. These paths---whet...
Loss of precision due to the conservative nature of compile-time dataflow analysis is a general prob...
. This paper describes a general purpose program analysis that computes global control-flow and data...
Data flow analysis is used to discover information for a wide variety of useful applications, rangin...
Data-flow analysis is the static analysis of programs to estimate their approximate run-time behavio...
Data-flow program analysis (DFA) is a powerful technique with applications ranging from compiler opt...
The compiler process, the one that transforms a program in a high level language into assembly or bi...
Data-flow analysis is widely used in extracting from source programs useful information for program ...
Control and data flow information is vital for the optimization of high level programming languages....
While software developers make every effort to develop correct, easily maintainable and efficient pr...
Many software engineering tools such as program slicers must perform data-flow analysis in order to ...
Program analysis plays a major role in advanced compilers, yet traditional approaches to data flow a...
Recent work in the area of software engineering has centered on the creation of sophisticated enviro...
Data flow analyses are instrumental to effective compiler optimizations, and are typically implement...