Newtonian program analysis

  • Authors:
  • Javier Esparza;Stefan Kiefer;Michael Luttenberger

  • Affiliations:
  • Technische Universität München, Garching, Germany;Technische Universität München, Garching, Germany;Technische Universität München, Garching, Germany

  • Venue:
  • Journal of the ACM (JACM)
  • Year:
  • 2010

Quantified Score

Hi-index 0.01

Visualization

Abstract

This article presents a novel generic technique for solving dataflow equations in interprocedural dataflow analysis. The technique is obtained by generalizing Newton's method for computing a zero of a differentiable function to ω-continuous semirings. Complete semilattices, the common program analysis framework, are a special class of ω-continuous semirings. We show that our generalized method always converges to the solution, and requires at most as many iterations as current methods based on Kleene's fixed-point theorem. We also show that, contrary to Kleene's method, Newton's method always terminates for arbitrary idempotent and commutative semirings. More precisely, in the latter setting the number of iterations required to solve a system of n equations is at most n.