Summary: A Toolkit for Constructing Type and
ConstraintBased Program Analyses
Alexander Aiken, Manuel F¨ahndrich, Jeffrey S. Foster, Zhendong Su
University of California, Berkeley ? ??
Abstract. BANE (the Berkeley Analysis Engine) is a publicly available
toolkit for constructing type and constraintbased program analyses. 1
We describe the goals of the project, the rationale for BANE's overall
design, some examples coded in BANE, and briefly compare BANE with
other program analysis frameworks.
Automatic program analysis is central to contemporary compilers and software
engineering tools. Program analyses are also arguably the most difficult compo
nents of such systems to develop, as significant theoretical and practical issues
must be addressed in even relatively straightforward analyses.
Program analysis poses difficult semantic problems, and considerable effort
has been devoted to understanding what it means for an analysis to be correct
[CC77]. However, designing a theoretically wellfounded analysis is necessary but
not sufficient for obtaining a useful analysis. Demonstrating utility requires im
plementation and experimentation, preferably with large programs. Many plau
sible analyses are not beneficial in practice, and others require substantial mod