The Design of Program Analysis Services
Abstract
The difficulty of understanding large programs is a major contribution to the cost of program maintenance and transformation. Tools for static program analysis promise to address this problem by automatically discovering truths about a program from its source text. It is often desirable to have a suite of specialized tools that each address a different task; however, static analyses are difficult and expensive to build, and therefore should be reused across tools wherever possible. Therefore we desire general interface between analyses that produce information and tools that consume it. It should be easy and cheap to build tools on top of such an interface, with no need to understand the analysis implementation; however, the interface must permit scalability and precision comparable to a monolith design. It turns out to be desirable, and feasible, for the same interface to cover a wide range of analysis implementations. In this paper we discuss the design and implementation of such an interface in Ajax, framework and set of tools for the static analysis of Java programs.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jun 01, 1999
- Accession Number
- ADA366251
Entities
People
- Robert O'callahan
Organizations
- Carnegie Mellon University