EFFICIENT COMPUTATION OF FIXPOINTS THAT ARISE IN COMPLEX - PROGRAM ANALYSIS

Citation
Ll. Chen et al., EFFICIENT COMPUTATION OF FIXPOINTS THAT ARISE IN COMPLEX - PROGRAM ANALYSIS, Journal of programming languages, 3(1), 1995, pp. 31-68
Citations number
49
Categorie Soggetti
Computer Sciences","Computer Science Software Graphycs Programming
ISSN journal
09639306
Volume
3
Issue
1
Year of publication
1995
Pages
31 - 68
Database
ISI
SICI code
0963-9306(1995)3:1<31:ECOFTA>2.0.ZU;2-R
Abstract
A model for studying the computation of fixpoints that arise in comple x program analysis based on abstract interpretation is proposed, and a n efficient algorithm for computing fixpoints based on the model is pr esented. Abstract interpretation provides a promising framework for ha ndling interprocedural analysis of programs in the presence of unrestr icted pointer manipulation, higher-order functions and continuations. In the general case, the structure of the fixpoint computation is not known before analysis; that is, the flow graph cannot be determined wi thout some degree of analysis. Abstract interpretation handles this si tuation easily. In the proposed algorithm, the entailment graph, repre senting the structure of the fixpoint computation, is developed during analysis. The strategies for determining the evaluation order, which underlie the algorithm, are described. Based on the strategies, local knowledge of the entailment graph at each node is exploited to determi ne dynamically an effective order of evaluation. The algorithm behaves like those based upon interval analysis of a flow graph, but without requiring the interprocedural control flow graph to be given a priori. The algorithm is implemented, and experiments are conducted to compar e it to other iterative algorithms for solving such problems. The resu lts show that the algorithm is flexible, efficient and consistently be tter than the others.