Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
An approach to incremental compilation of optimized code
An approach to incremental compilation of optimized code
An incremental algorithm for software analysis
SDE 2 Proceedings of the second ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Elimination algorithms for data flow analysis
ACM Computing Surveys (CSUR)
Incremental graph evaluation (attribute grammar)
Incremental graph evaluation (attribute grammar)
A Fast and Usually Linear Algorithm for Global Flow Analysis
Journal of the ACM (JACM)
A Unified Approach to Path Problems
Journal of the ACM (JACM)
Fast Algorithms for Solving Path Problems
Journal of the ACM (JACM)
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental Context-Dependent Analysis for Language-Based Editors
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental data flow analysis in a structured program editor
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Efficient computation of flow insensitive interprocedural summary information
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Remote attribute updating for language-based editors
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Flow Analysis of Computer Programs
Flow Analysis of Computer Programs
Incremental data flow analysis
POPL '83 Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Optimal-time incremental semantic analysis for syntax-directed editors
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Interprocedural data flow analysis in a programming environment
Interprocedural data flow analysis in a programming environment
Incremental analysis of programs
Incremental analysis of programs
Interprocedual data flow testing
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Profiling an Incremental Data Flow Analysis Algorithm
IEEE Transactions on Software Engineering
A Critical Analysis of Incremental Iterative Data Flow Analysis Algorithms
IEEE Transactions on Software Engineering
An efficient hybrid algorithm for incremental data flow analysis
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic expression trees and their applications
SODA '91 Proceedings of the second annual ACM-SIAM symposium on Discrete algorithms
Incremental global reoptimization of programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A categorized bibliography on incremental computation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An incremental algorithm for maintaining the dominator tree of a reducible flowgraph
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental computation of dominator trees
IR '95 Papers from the 1995 ACM SIGPLAN workshop on Intermediate representations
A new framework for exhaustive and incremental data flow analysis using DJ graphs
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Program decomposition for pointer aliasing: a step toward practical analyses
SIGSOFT '96 Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering
Incremental computation of dominator trees
ACM Transactions on Programming Languages and Systems (TOPLAS)
Incremental analysis of side effects for C software system
ICSE '97 Proceedings of the 19th international conference on Software engineering
A new framework for elimination-based data flow analysis using DJ graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
An incremental flow- and context-sensitive pointer aliasing analysis
Proceedings of the 21st international conference on Software engineering
Incremental algorithms for minimal length paths
SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms
Incremental analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A schema for interprocedural modification side-effect analysis with pointer aliasing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Selecting and Using Data for Integration Testing
IEEE Software
A framework for incremental extensible compiler construction
ICS '03 Proceedings of the 17th annual international conference on Supercomputing
Incremental execution of transformation specifications
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Solving problems for maximal reducible flowgraphs
Discrete Applied Mathematics - The 1st cologne-twente workshop on graphs and combinatorial optimization (CTW 2001)
Incremental and demand-driven points-to analysis using logic programming
PPDP '05 Proceedings of the 7th ACM SIGPLAN international conference on Principles and practice of declarative programming
A framework for incremental extensible compiler construction
International Journal of Parallel Programming - Special issue II: The 17th annual international conference on supercomputing (ICS'03)
Real-time minimum vertex cover for two-terminal series-parallel graphs
International Journal of High Performance Computing and Networking
Automatic incrementalization of prolog based static analyses
PADL'07 Proceedings of the 9th international conference on Practical Aspects of Declarative Languages
A framework for the checking and refactoring of crosscutting concepts
ACM Transactions on Software Engineering and Methodology (TOSEM)
An experimental study of dynamic dominators
ESA'12 Proceedings of the 20th Annual European conference on Algorithms
An incremental points-to analysis with CFL-Reachability
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Hi-index | 0.00 |
We present an algorithm for updating data flow information derived from a program, in response to program edits. Our algorithm, applicable to intraprocedural or interprocedural data flow problems, is more general than previous methods because it can update any monotone data flow problem defined on a reducible flow graph and can handle arbitrary program edits.Rather than design yet another special-purpose data flow update algorithm, we show how to reduce the class of data flow problems to another class of problems which already has a fast update algorithm. More specifically, we reduce a monotone data flow problem formulated for solution using Graham-Wegman elimination [12] to the problem of constructing and decorating an attributed tree structurally isomorphic to the dominator tree of the program flow graph.To update this dominator tree in response to program changes, we first show how to express domination in terms of two local properties of nodes and edges in the flow graph — niceness and deepness. Domination is then updated in response to an edge addition or deletion by repeatedly performing two local operations on the dominator tree, each operation restoring the local properties violated by the edge change. Second, we extend Reps' attributed tree update techniques [19,21,20] and his complexity analysis, to update attribute values in response to changes in this structure.