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 language | English |
---|---|
Pages | 104-115 |
Number of pages | 12 |
DOIs | |
State | Published - 1995 |
Externally published | Yes |
Event | Proceedings of the 1995 3rd ACM SIGSOFT Symposium on the Foundations of Software Engineering - Washington, DC, USA Duration: 10 Oct 1995 → 13 Oct 1995 |
Conference
Conference | Proceedings of the 1995 3rd ACM SIGSOFT Symposium on the Foundations of Software Engineering |
---|---|
City | Washington, DC, USA |
Period | 10/10/95 → 13/10/95 |