Demand interprocedural dataflow analysis

Susan Horwitz*, Thomas Reps, Mooly Sagiv

*Corresponding author for this work

Research output: Contribution to conferencePaperpeer-review

127 Scopus citations

Abstract

An exhaustive dataflow analysis algorithm associates with each point in a program a set of `dataflow facts' that are guaranteed to hold whenever that point is reached during program execution. By contrast, a demand dataflow analysis algorithm determines whether a single given dataflow fact holds at a single given point. This paper presents a new demand algorithm for interprocedural dataflow analysis. The new algorithm has three important properties: It provides precise (meet over all interprocedurally valid paths) solutions to a large class of problems; it has a polynomial worst-case cost for both a single demand and a sequence of all possible demands; the worst-case total cost of the sequence of all possible demands is no worse than the worst-case cost of a single run of the current best exhaustive algorithm.

Original languageEnglish
Pages104-115
Number of pages12
DOIs
StatePublished - 1995
Externally publishedYes
EventProceedings of the 1995 3rd ACM SIGSOFT Symposium on the Foundations of Software Engineering - Washington, DC, USA
Duration: 10 Oct 199513 Oct 1995

Conference

ConferenceProceedings of the 1995 3rd ACM SIGSOFT Symposium on the Foundations of Software Engineering
CityWashington, DC, USA
Period10/10/9513/10/95

Fingerprint

Dive into the research topics of 'Demand interprocedural dataflow analysis'. Together they form a unique fingerprint.

Cite this