|
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
|
Evelyn Duesterwald , Rajiv Gupta , Mary Lou Soffa, Demand-driven computation of interprocedural data flow, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.37-48, January 23-25, 1995, San Francisco, California, United States
[doi> 10.1145/199448.199461]
|
 |
16
|
Maryam Emami , Rakesh Ghiya , Laurie J. Hendren, Context-sensitive interprocedural points-to analysis in the presence of function pointers, Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation, p.242-256, June 20-24, 1994, Orlando, Florida, United States
|
| |
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
|
Susan Horwitz , Thomas Reps , Mooly Sagiv, Demand interprocedural dataflow analysis, Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering, p.104-115, October 12-15, 1995, Washington, D.C., United States
|
| |
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
|
Thomas Reps , Susan Horwitz , Mooly Sagiv, Precise interprocedural dataflow analysis via graph reachability, Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.49-61, January 23-25, 1995, San Francisco, California, United States
[doi> 10.1145/199448.199462]
|
 |
32
|
|
 |
33
|
B. K. Rosen , M. N. Wegman , F. K. Zadeck, Global value numbers and redundant computations, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.12-27, January 10-13, 1988, San Diego, California, United States
[doi> 10.1145/73560.73562]
|
 |
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
|
|
|