A flexible architecture for building data flow analyzers

  • Authors:
  • Matthew B. Dwyer;Lori A. Clarke

  • Affiliations:
  • Dept. of Computing and Info. Sciences, Kansas State University, Manhattan, KS;Dept. of Computer Science, University of Massachusetts, Amherst, MA

  • Venue:
  • Proceedings of the 18th international conference on Software engineering
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

Data flow analysis is a versatile technique that can be used to address a variety of analysis problems. Typically, data flow analyzers are hand-crafted to solve a particular analysis problem. The cost of constructing analyzers can be high and is a barrier to evaluating alternative analyzer designs. We describe an architecture that facilitates the rapid prototyping of data flow analyzers. With this architecture, a developer chooses from a collection of pre-existing components or, using high-level component generators, constructs new components and combines them to produce a data flow analyzer. In addition to support for traditional data flow analysis problems, this architecture supports the development of analyzers for a class of combined data flow problems that offer increased precision. This architecture allows developers to investigate quickly and easily a wide variety of analyzer design alternatives and to understand the practical design tradeoffs better. We describe our experience using this architecture to construct a variety of different data flow analyzers.