|
ABSTRACT
An incremental update algorithm modifies the solution of a problem that has been changed, rather than re-solving the entire problem. ACINCF and ACINCB are incremental update algorithms for forward and backward data-flow analysis, respectively, based on our equations model of Allen-Cocke interval analysis. In addition, we have studied their performance on a “nontoy” structured programming language L. Given a set of localized program changes in a program written in L, we identify a priori the nodes in its flow graph whose corresponding data-flow equations may be affected by the changes. We characterize these possibly affected nodes by their corresponding program structures and their relation to the original change sites, and do so without actually performing the incremental updates. Our results can be refined to characterize the reduced equations possibly affected if structured loop exit mechanisms are used, either singly or together, thereby relating richness of programming language usage to the ease of incremental updating.
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
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
 |
2
|
C. N. Alberga , A. L. Brown , G. B. Leeman, Jr. , M. Mikelsons , M. N. Wegman, A program development tool, Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.92-104, January 26-28, 1981, Williamsburg, Virginia
[doi> 10.1145/567532.567543]
|
| |
3
|
ALLEN, F. E. Interprocedural data flow analysis. In Proceedings of 1974 ZFZP Congress. IEEE Press, New York, 1974, pp. 398-402.
|
 |
4
|
|
| |
5
|
BABICH, W. A., AND JAZAYERI, M. The method of attributes for data flow analysis, Part II: Demand analysis. Acta Znf. 10 (1978), 265-272.
|
| |
6
|
BABICH, W. A., AND JAZAYERI, M. The method of attributes for data flow analysis, Part I: Exhaustive analysis. Actu Znf. 10 (1978), 245-264.
|
 |
7
|
|
| |
8
|
BURKE, M. An interval analysis approach toward interprocedural data flow analysis. Comput. Sci. Tech. Rep. RC 10640, IBM Thomas J. Watson Research Center, Yorktown Heights, N.Y., July 1984.
|
 |
9
|
|
 |
10
|
|
| |
11
|
ELSHOFF, J. A numerical profile of commercial PL/I programs. Softw. Pratt. &per. 6,4 (1976), 505-525.
|
| |
12
|
ELSHOFF, J. The influence of structured programming on PL/I program profiles. IEEE Trans. Softw. Eng. SE-3,5 (Sept. 1977), 364-368.
|
 |
13
|
|
| |
14
|
|
| |
15
|
ISAACSON, E., AND KELLER, H. B. Anulysis of Numerical Methods. Wiley, New York, 1966.
|
 |
16
|
|
| |
17
|
JOHNSON, S. C. LINT, A C program checker. In UNIX System Programmer's Manual Vol. 2. Holt, Rinehart and Winston, New York, 1979, pp. 278-290.
|
 |
18
|
|
| |
19
|
KNUTH, D. E. An empirical study of FORTRAN programs. Softw. Pruct. Exper. I (1971), 105-133.
|
 |
20
|
|
| |
21
|
|
| |
22
|
OSTERWEIL, L. J., AND FOSDICK, L. D. DAVE-A validation, error detection, and documentation system for FORTRAN programs. Softw. Pratt. Exper. 6 (Sept. 1976), 473-486.
|
| |
23
|
PAIGE, R. Formal Differentiation-A Program Synthesis Technique. UMI Research Press, Ann Arbor, Mich., 1981.
|
| |
24
|
|
| |
25
|
REISER, J., ED. SAIL. Memo AIM-289, Artificial Intelligence Laboratory, Stanford Univ., Stanford, Calif., Aug. 1976.
|
 |
26
|
|
 |
27
|
|
 |
28
|
|
| |
29
|
ROBINSON, S. K., AND TORSUN, I. S. An empirical analysis of FORTRAN programs. Comput. J. 19, 1 (1976), 56-62.
|
 |
30
|
|
 |
31
|
|
| |
32
|
RYDER, B. G. The PFORT verifier. Softw. Pratt. Exper. 4 (1974), 359-377.
|
| |
33
|
RYDER, B. G. Constructing the call graph of a program. IEEE Trcms. Softw. Eng. SE-5, 3 (May 1979), 216-225.
|
| |
34
|
|
| |
35
|
RYDER, B. G. An application of static program analysis to software maintenance. In Proceedings of the 12th Hawaii Znternatianal Conference on System Sciences, Vol. II: Software (Kona, Hawaii, Jan. 1987). University of Hawaii and University of S.W. Louisiana, in cooperation with the ACM and the IEEE Technical Committee on Computational Medicine. pp. 82-91. (Also available in abridged version as Tech. Rep. CAIP-TR-009, Center for Computer Aids for Industrial Productivity, Rutgers Univ., New Brunswick, N.J., July 1986.)
|
| |
36
|
RYDER, B. G., AND CARROLL, M. D. A new structure for performing interval-based incremental data flow analysis. Tech. Rep. CAIP-TR-008, Center for Computer Aids for Industrial Productivity, Rutgers Univ., New Brunswick, N.J., May 1986.
|
| |
37
|
RYDER, B. G., AND CARROLL, M. D. Interval-based incremental data flow analysis. Tech. Rep. CAIP-TR-007, Center for Computer Aids for Industrial Productivity, Rutgers Univ., New Brunswick, N.J., May 1986.
|
 |
38
|
|
| |
39
|
RYDER, B. G., AND CARROLL, M. D. An incremental analysis algorithm for software systems. Tech. Rep. CAIP-TR-035, Center for Computer Aids for Industrial Productivity, Rutgers Univ., New Brunswick, N.J., May 1987.
|
 |
40
|
|
| |
41
|
SCHWARTZ, J. T. Interprocedural optimizations. SETL Newsl. 134, Courant Institute of Mathematical Sciences, New York Univ., New York, July 1, 1974.
|
| |
42
|
SCHWARTZ, J. T., AND SHARIR, M. A design for optimizations of the bitvectoring class. Comput. Sci. Tech. Rep. 17, Courant Institute of Mathematical Sciences, New York Univ., New York, Sept. 1979.
|
| |
43
|
SHARIR, M., AND PNUELI, A. Two approaches to interprocedural data flow analysis. In Program Flaw Analysis: Theory and Applications, S. Muchnick and N. Jones, Eds. Prentice-Hall, Englewood Cliffs, N.J. 1981, pp. 189-234.
|
| |
44
|
SHIMASAKI, M., FUKAYA, S., IKEDA, K., AND KIYONO, T. An analysis of PASCAL programs in compiler writing. Softw. Pratt. Erper. 10,2 (Feb. 1980), 149-158.
|
| |
45
|
TARJAN, R. E. Testing flow graph reducibility. J. Comput. Syst. Sci. 9 (1974), 355-365.
|
 |
46
|
|
| |
47
|
ULLMAN, J. D. Fast algorithms for the elimination of common subexpressions. Acta Znf. 2, 3 (1973), 191-213.
|
| |
48
|
|
 |
49
|
|
CITED BY 35
|
|
Jyh-Shiarn Yur , Barbara G. Ryder , William A. Landi , Phil Stocks, Incremental analysis of side effects for C software system, Proceedings of the 19th international conference on Software engineering, p.422-432, May 17-23, 1997, Boston, Massachusetts, United States
|
|
|
|
|
|
|
|
|
|
|
|
M. Kazerooni-Zand , M. H. Samadzadeh , K. M. George, Minimizing ripple recompilation in a persistent software environment, Proceedings of the 1990 ACM annual conference on Cooperation, p.166-172, February 20-22, 1990, Washington, D.C., United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
|
Yanhong A. Liu , Scott D. Stoller , Tim Teitelbaum, Discovering auxiliary information for incremental computation, Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.157-170, January 21-24, 1996, St. Petersburg Beach, Florida, United States
|
|
|
Jyh-shiarn Yur , Barbara G. Ryder , William A. Landi, An incremental flow- and context-sensitive pointer aliasing analysis, Proceedings of the 21st international conference on Software engineering, p.442-451, May 16-22, 1999, Los Angeles, California, United States
|
|
|
|
|
|
Mary Jean Harrold, The effects of optimizing transformations on data-flow adequate test sets, Proceedings of the symposium on Testing, analysis, and verification, p.130-138, October 08-10, 1991, Victoria, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REVIEW
"Marvin V. Zelkowitz : Reviewer"
This paper presents an analysis of several data-flow algorithms and a
mechanism for the incremental updating of each. In particular, it describes
the Allen-Cocke interval analysis (both forward and backward data-flow) and
the Hecht-Ullman T1-T2
more...
|