|
ABSTRACT
This paper provides a link between the formulation of static program analyses using the framework of abstract interpretation (popular for functional languages and using the more classical framework of data flow anlysis (popular for imperative languages). In particular we show how the classical notions of fastness, rapidity and k-boundedness carry over to the abstract interpretation framework and how this may be used to bound the number of times a functional should be unfolded in order to yield the fixed point. This is supplemented with a number of results on how to calculate the bounds for iterative forms (as for tail recursion), for linear forms (as for one nested recursive call), and for primitive recursive forms. In some cases this improves the “worst case” results of, but more importantly it gives much better“average case” results.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
 |
2
|
|
| |
3
|
A.J. Field, P.G. Harrison: Functional Programming, Addison - Wesley (1988).
|
| |
4
|
G. Gr~tzer: Lattice Theory- First Concepts and Distributive Lattices, W.H. Freeman and Company (1971).
|
| |
5
|
|
| |
6
|
A. Mycroft: Abstract Interpretation and Optimizing Transformations for Applicative Programs, University of Edinburgh Ph.D.- thesis (1981).
|
| |
7
|
F. Nielson (editor): Design, Analysis and Reasoning about Tools: Abstracts from the First Workshop, Aarhus University report DAIMI PB-367 (1991).
|
| |
8
|
|
 |
9
|
|
| |
10
|
F. Nielson, H.R. Nielson: Finiteness Conditions for Fixed Point Iteration, report DAIMI PB-384, Aarhus University, Denmark (February 1992).
|
 |
11
|
|
| |
12
|
|
CITED BY 2
|
|
Thomas Reps , Susan Horwitz , Mooly Sagiv, Precise interprocedural dataflow analysis via graph reachability, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.49-61, January 23-25, 1995, San Francisco, California, United States
|
|
|
|
|