Abstract Interpretation of Functional Programs using an Attribute Grammar System

  • Authors:
  • Jeroen Fokker;S. Doaitse Swierstra

  • Affiliations:
  • Dept. of Information and Computing Sciences, Utrecht University, The Netherlands;Dept. of Information and Computing Sciences, Utrecht University, The Netherlands

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe an algorithm for abstract interpretation of an intermediate language in a Haskell compiler, itself also written in Haskell. It computes approximations of possible values for all variables in the program, which can be used for optimizing the object code. The analysis is done by collecting constraints on variables, which are then solved by fixpoint iteration. The set of constraints grows while solving, as possible values of unknown functions become known. The constraints are collected by decorating the abstract syntax tree with an attribute grammar based preprocessor for Haskell. An introduction to this preprocessor is also given.