| | |
Summary: Introduction to Set Constraint-Based Program Analysis
Alexander Aiken
EECS Department
University of California, Berkeley
Berkeley, CA 94702-1776
aiken@cs.berkeley.edu
1 Introduction
Program analysis is concerned with automatically extracting information from programs. Program anal-
ysis is a large topic, with a long history and many applications, particularly in optimizing compilers
and software engineering tools. As might be expected of any broad area, there are a number of distinct
approaches to program analysis.
This paper provides an overview of constraint-based program analysis. While much has been writ-
ten about constraint-based program analysis in recent years, there is relatively little material to assist
outsiders who wish to learn something about the eld. Two survey papers cover the computational
complexity of various constraint problems that arise in program analysis [Aik94, PP97]. The purpose of
the present work is to motivate the use of constraints for program analysis from the perspective of the
applications of the theory.
Program analysis using constraints is divisible into constraint generation and constraint resolution.
Constraint generation produces constraints from a program text that give a declarative specication of the
desired information about the program. Constraint resolution (i.e., solving the constraints) then computes
|