Solving Multiple Dataflow Queries Using WPDSs

  • Authors:
  • Akash Lal;Thomas Reps

  • Affiliations:
  • University of Wisconsin, Madison, USA;University of Wisconsin, Madison, USA and GrammaTech, Inc., Ithaca, NY, USA

  • Venue:
  • SAS '08 Proceedings of the 15th international symposium on Static Analysis
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

Abstract

A dataflow query asks for the set of reachable (abstract) states, given a starting set of states. In this paper, we show how to optimize multiple queries on the same program (each with a different starting set of states) for better overall running time. After a preprocessing phase, we obtain an asymptotic improvement in answering dataflow queries. We use weighted pushdown systemsas the abstract model of a program. Our techniques are interprocedural. They are general, yet provide an impressive speedup. We applied our algorithm to three very different applications, one based on finding affine relations using linear algebra, and others for model checking Boolean programs, and obtained 1.5-fold to 7-fold speedups.