Incremental data-flow analysis algorithms
- 1 January 1988
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 10 (1), 1-50
- https://doi.org/10.1145/42192.42193
Abstract
An incremental update algorithm modifies the solution of a problem that has been changed, rather than re-solving the entire problem. ACINCF and ACINCB are incremental update algorithms for forward and backward data-flow analysis, respectively, based on our equations model of Allen-Cocke interval analysis. In addition, we have studied their performance on a “nontoy” structured programming language L. Given a set of localized program changes in a program written in L, we identify a priori the nodes in its flow graph whose corresponding data-flow equations may be affected by the changes. We characterize these possibly affected nodes by their corresponding program structures and their relation to the original change sites, and do so without actually performing the incremental updates . Our results can be refined to characterize the reduced equations possibly affected if structured loop exit mechanisms are used, either singly or together, thereby relating richness of programming language usage to the ease of incremental updating.Keywords
This publication has 26 references indexed in Scilit:
- Elimination algorithms for data flow analysisACM Computing Surveys, 1986
- Incremental Context-Dependent Analysis for Language-Based EditorsACM Transactions on Programming Languages and Systems, 1983
- Fast Algorithms for Solving Path ProblemsJournal of the ACM, 1981
- High-level data flow analysisCommunications of the ACM, 1977
- Dave—a validation error detection and documentation system for fortran programsSoftware: Practice and Experience, 1976
- A program data flow analysis procedureCommunications of the ACM, 1976
- An empirical analysis of FORTRAN programsThe Computer Journal, 1976
- A Fast and Usually Linear Algorithm for Global Flow AnalysisJournal of the ACM, 1976
- The pfort verifierSoftware: Practice and Experience, 1974
- An empirical study of FORTRAN programsSoftware: Practice and Experience, 1971