Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '88 1988
DOI: 10.1145/73560.73584
|View full text |Cite
|
Sign up to set email alerts
|

Incremental data flow analysis via dominator and attribute update

Abstract: 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 probl… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
21
0

Year Published

1989
1989
2023
2023

Publication Types

Select...
7
1
1

Relationship

0
9

Authors

Journals

citations
Cited by 65 publications
(21 citation statements)
references
References 19 publications
(13 reference statements)
0
21
0
Order By: Relevance
“…These approaches however do not easily translate to arbitrary IDE problems. Carroll and Ryder [5] incrementalize arbitrary elimination-based data flow algorithms by reducing them to the domintator-tree problem and applying a variant of Reps' optimal attribute parse-tree update algorithm. In general, Ryder and Burke [4] have surveyed many older approaches which are limited to lowering lattice values in IDE problems leading to results that differ from a complete recomputation.…”
Section: Related Workmentioning
confidence: 99%
“…These approaches however do not easily translate to arbitrary IDE problems. Carroll and Ryder [5] incrementalize arbitrary elimination-based data flow algorithms by reducing them to the domintator-tree problem and applying a variant of Reps' optimal attribute parse-tree update algorithm. In general, Ryder and Burke [4] have surveyed many older approaches which are limited to lowering lattice values in IDE problems leading to results that differ from a complete recomputation.…”
Section: Related Workmentioning
confidence: 99%
“…Some incremental analyses use the elimination method [3,5], some are based on the technique of restarting iterations [20] and some are hybrids of the two techniques [18]. A comparison of incremental iterative algorithm can be found in [4].…”
Section: Related Workmentioning
confidence: 99%
“…Incremental analysis is especially important for large projects in a software development environment where it is necessary to maintain a global analysis in the presence of small and frequent edits. Several solutions have been proposed by using incremental elimination [3,5], restarting iteration [20], a combination of these two techniques [18], timestamp-based backtracing [13], and logic program evaluation [24]. In this paper, we introduce an incremental approach for points-to analyses based on CFL-reachability.…”
Section: Introductionmentioning
confidence: 99%
“…A variety of incremental algorithms have been developed for data flow analysis problems. Some of them use the elimination method [6,8,25]; others are based on restarting iterations [24], while both techniques are combined in [22]. A comparison of incremental iterative algorithms for data flow analysis can be found in [7].…”
Section: Related Workmentioning
confidence: 99%