Static Inference of Properties of Applicative Programs
Computer Science (HMC)
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.
©1984 Association for Computing Machinery
Mishra, P, Keller, RM. Static inference of properties of applicative programs. Proc 11th ACM SIGACT-SIGPLAN Symp Prin Prog Lang. 1984: 235-244.