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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 1999
Accession Number
ADA366251

Entities

People

  • Robert O'callahan

Organizations

  • Carnegie Mellon University

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Algorithms
  • Arithmetic
  • Compilers
  • Computations
  • Computer Programs
  • Computer Science
  • Computers
  • Directional
  • Hierarchies
  • Identities
  • Instructions
  • Language
  • Object Code
  • Semantics
  • Transient Response Analysis
  • Virtual Machines

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Systems Analysis and Design