Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
On the complexity of escape analysis
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Escape analysis: correctness proof, implementation and experimental results
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Advanced compiler design and implementation
Advanced compiler design and implementation
Cache-conscious structure layout
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Cache-conscious structure definition
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Escape analysis for object-oriented languages: application to Java
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Java Virtual Machine Specification
Java Virtual Machine Specification
The Java Language Specification
The Java Language Specification
Program Flow Analysis: Theory and Application
Program Flow Analysis: Theory and Application
Basic-Block Graphs: Living Dinosaurs?
CC '98 Proceedings of the 7th International Conference on Compiler Construction
An open framework for data-flow analysis in Java: extended abstract
PPPJ '02/IRE '02 Proceedings of the inaugural conference on the Principles and Practice of programming, 2002 and Proceedings of the second workshop on Intermediate representation engineering for virtual machines, 2002
Subroutine Inlining and Bytecode Abstraction to Simplify Static and Dynamic Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Combined Static and Dynamic Analysis
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
For decades, data-flow analysis (DFA) has been done using an iterative algorithm based on graph representations of programs. For a given data-flow problem, this algorithm computes the maximum fixed point (MFP) solution. The edge structure of the graph represents possible control flows in the program. In this paper, we present a new, graph-free algorithm for computing the MFP solution. The experimental implementation of the algorithm was applied to a large set of samples. The experiments clearly show that the memory usage of our algorithm is much better: Our algorithm always reduces the amount of memory and reached improvements upto less than a tenth. In the average case, the reduction is about a third of the memory usage of the classical algorithm. In addition, the experiments showed that the runtimes are almost the same: The average speedup of the classical algorithm is only marginally greater than one.