Interprocedural analyses: a comparison

Authors
Citation
H. Seidl et C. Fecht, Interprocedural analyses: a comparison, J LOGIC PR, 43(2), 2000, pp. 123-156
Citations number
50
Categorie Soggetti
Computer Science & Engineering
Journal title
JOURNAL OF LOGIC PROGRAMMING
ISSN journal
07431066 → ACNP
Volume
43
Issue
2
Year of publication
2000
Pages
123 - 156
Database
ISI
SICI code
0743-1066(200005)43:2<123:IAAC>2.0.ZU;2-E
Abstract
We present a framework for program analysis of languages with procedures wh ich is general enough to allow for a comparison of various approaches to in terprocedural analysis. Our framework is based on a small-step operational semantics and subsumes both frameworks for imperative and for logic languag es, We consider reachability analysis, that is, the problem of approximatin g the sets of program states reaching program points, We use our framework in order to clarify the impact of several independent design decisions on t he precision of the analysis, Thus, we compare intraprocedural forward accu mulation with intraprocedural backward accumulation, Furthermore, we consid er both relational and functional approaches, While for relational analysis the accumulation strategy makes no difference in precision, we prove for f unctional analysis that forward accumulation may lose precision against bac kward accumulation. Concerning the relative precision of relational analyse s and corresponding functional analyses, we exhibit scenarios where functio nal analysis does not lose precision, Finally, we explain why even an enhan cement of functional analysis through disjunctive completion of the underly ing abstract domain may sometimes lose precision against relational analysi s, (C) 2000 Elsevier Science Inc. All rights reserved.