ACM Home Page
Please provide us with feedback. Feedback
A practical framework for demand-driven interprocedural data flow analysis
Full text PdfPdf (413 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 19 ,  Issue 6  (November 1997) table of contents
Pages: 992 - 1030  
Year of Publication: 1997
ISSN:0164-0925
Authors
Evelyn Duesterwald  Univ. of Pittsburgh, Pittsburgh, PA
Rajiv Gupta  Univ. of Pittsburgh, Pittsburgh, PA
Mary Lou Soffa  Univ. of Pittsburgh, Pittsburgh, PA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 15,   Downloads (12 Months): 73,   Citation Count: 17
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/267959.269970
What is a DOI?

ABSTRACT

The high cost and growing importance of interprocedural data flow analysis have led to an increased interest in demand-driven algorithms. In this article, we present a general framework for developing demand-driven interprocedural data flow analyzers and report our experience in evaluating the performance of this approach. A demand for data flow information is modeled as a set of queries. The framework includes a generic demand-driven algorithm that determines the response to query by iteratively applying a system of query propagation rules. The propagation rules yield precise responses for the class of distributive finite data flow problems. We also describe a two-phase framework variation to accurately handle nondistributive problems. A performance evaluation of our demand-driven approach is presented for two data flow problems, namely, reaching-definitions and copy constant propagation. Our experiments show that demand-driven analysis performs well in practice, reducing both time and space requirements when compared with exhaustive analysis.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
BABICH, W. AND JAZAYERI, ik/{. 1978. The method of attributes for data flow analysis: Part II. Demand analysis. Acta Inf. 10, 3 (Oct.), 265-272.
 
2
3
 
4
BURKE, M. 1987. An interval analysis approach toward exhaustive and incremental data flow analysis. Tech. Rep. RC 12702, IBM Thomas J. Watson Research Center, Yorktown Heights, N.Y.
 
5
6
7
 
8
COOPER, K., HALL, M., AND KENNEDY, K. 1992. Procedure cloning. In Proceedings of the IEEE 1992 International Conference on Computer Languages. IEEE, New York, 96-105.
9
 
10
COUSOT, P. 1981. Semantic foundations of program analysis. In Program Flow Analysis: Theory and Applications, S. Muchnick and N. Jones, Eds. Prentice-Hall, Englewood Cliffs, N.J., 303- 342.
 
11
COUSOT, P. AND COUSOT, R. 1978. Static determination of dynamic properties of recursive procedures. In Proceedings of the IFIP Conference on Programming Concepts, E. Neuhold, Ed. North-Holland, Amsterdam, 237-277.
12
 
13
 
14
DUESTERWALD, E., GUPTA, R., AND SOFFA, M. 1992. Rigorous data flow testing through output influences. In Proceedings of the 2rid Irvine Software Symposium. 131-145.
15
16
 
17
18
 
19
HANKIN, C. AND LEMETAYER, D. 1994. A type-based framework for program analysis. In Proceedings of the 1st International Static Analysis Symposium. 380-394.
20
 
21
HORWlTZ, S., REPS, T., AND SAGIV, M. 1995b. Demand interprocedural dataflow analysis. Tech. Rep. 1283, Computer Science Dept., Univ. of Wisconsin, Madison, Wisc. Aug.
 
22
23
 
24
KAM, J. AND ULLMAN, J. 1977. Monotone data flow analysis frameworks. Acta Inf. 7, 3 (July), 305-317.
 
25
26
27
 
28
 
29
 
30
31
32
33
34
 
35
 
36
SHARIR, M. AND PNUELI, t. 1981. Two approaches to interprocedural data flow analysis. In Program Flow Analysis: Theory and Applications, S. Muchnick and N. Jones, Eds. Prentice- Hall, Englewood Cliffs, N.J., 189-234.
37
 
38
STOYENKO, A., MARLOWE, T., HALANG, W., AND YOUNIS, M. 1993. Enabling efficient schedulability analysis through conditional linking and program transformations. Control Eng. Pract. 1, 1, 85-105.
 
39
 
40
WEISER, M. 1984. Program slicing. IEEE Trans. Softw. Eng. Methodol. 10, 4 (July), 352-357.
41
42

CITED BY  17

Collaborative Colleagues:
Evelyn Duesterwald: colleagues
Rajiv Gupta: colleagues
Mary Lou Soffa: colleagues