|
ABSTRACT
An applicative program denotes a function mapping values from some domain to some range. Abstract interpretation of applicative programs involves using the standard denotation to describe an abstract function from a “simplified” domain to a “simplified” range, such that computation of the abstract function is effective and yields some information, such as type information, about the standard denotation. We develop a general framework for a restricted class of abstract interpretations that deal with non-strict functions defined on non-flat domains. As a consequence, we can develop inference schemes for a large and useful class of functional programs, including functions defined on streams. We describe several practical problems and solve them using abstract interpretation. These include inferring minor signatures and relevant clauses of functions, which have arisen out of our work on a strongly-typed applicative language.
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
|
United States Department of Defense. Reference manual for the ADA programming language. United states Department of Defense, 1982.
|
| |
2
|
M. Broy. Fixed point theory for communication and concurrency. Lectures at the International Summer school on Theoretical Foundations of Programming Methodology, July, 1981, pp.
|
 |
3
|
R. M. Burstall , D. B. MacQueen , D. T. Sannella, HOPE: An experimental applicative language, Proceedings of the 1980 ACM conference on LISP and functional programming, p.136-143, August 25-27, 1980, Stanford University, California, United States
[doi> 10.1145/800087.802799]
|
 |
4
|
|
 |
5
|
|
| |
6
|
P. Cousot. Semantic Foundations of program analysis. In N.Jones and N.Muchnick, Ed., Program Flow Analysis: Theory and Applications, Prentice-Hall, 1981, pp. 303-342.
|
 |
7
|
M. Gordon , R. Milner , L. Morris , M. Newey , C. Wadsworth, A Metalanguage for interactive proof in LCF, Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages, p.119-130, January 23-25, 1978, Tucson, Arizona
[doi> 10.1145/512760.512773]
|
| |
8
|
|
 |
9
|
|
| |
10
|
P. Hudak. The aggregate update problem in functional programming systems. In preparation, Yale University, 1983
|
| |
11
|
R.M. Keller, G.Lindstrom, and S.Patil. A loosely-coupled applicative multi-processing system. AFIPS, AFIPS, June, 1979, pp. 613-622.
|
| |
12
|
R.M.Keller. Semantics and Applications of Function Graphs. Tech. Rept. UUCS-80-112, University of Utah, Computer Science Department, 1980.
|
 |
13
|
|
| |
14
|
R.M.Keller. FEL Manual. University of Utah, 1983.
|
 |
15
|
|
| |
16
|
P. Mishra. Data Types in Applicative Languages: Abstraction and Inference. Ph. D. proposal, May 1983
|
| |
17
|
P. Mishra, R.M. Keller. Optimized execution of a strongly typed applicative language. To appear, University of Utah, 1983
|
| |
18
|
|
| |
19
|
A. Mycroft. Abstract Interpretation and Optimising Transformations for Applicative Programs. Ph.D. Th., University of Edinburgh, December 1981.
|
| |
20
|
P. Panangaden, P.Mishra. General powerdomain constructions for abstract interpretation and indeterminacy. In preparation, University of Utah, 1983
|
| |
21
|
G.D.Plotkin. "A Powerdomain Construction." SIAM J.Comput. 5, 3 (Sept. 1976), 452-480.
|
| |
22
|
M.B.Smyth. "Power Domains." JCSS 16 (1978), 23-36.
|
| |
23
|
|
|