Static inference of properties of applicative programs

  • Authors:
  • Prateek Mishra;Robert M. Keller

  • Affiliations:
  • Department of Computer Science, University of Utah, Salt Lake City, Utah;-

  • Venue:
  • POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
  • Year:
  • 1984

Quantified Score

Hi-index 0.00

Visualization

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.