Incremental analysis of programs

Algorithms used to determine the control and data flow properties of computer programs are generally designed for one-time analysis of an entire new input. Application of such algorithms when the input is only slightly modified results in an inefficient system. In this thesis a set of incremental update algorithms are presented for data flow analysis. These algorithms update the solution from a previous analysis to reflect changes in the program. Thus, extensive reanalysis of programs after each program modification can be avoided. The incremental update algorithms presented for global flow analysis are based on Hecht/Ullman iterative algorithms. Banning's interprocedural data flow analysis algorithms form the basis for the incremental interprocedural algorithms.

[1]  Sallie Marie Henry,et al.  Information flow metrics for the evaluation of operating systems' structure. , 1979 .

[2]  Alfred V. Aho,et al.  Node listings for reducible flow graphs , 1975, STOC '75.

[3]  Thomas Reps Static-semantic analysis in language-based editors , 1983 .

[4]  Lori A. Clarke,et al.  A System to Generate Test Data and Symbolically Execute Programs , 1976, IEEE Transactions on Software Engineering.

[5]  William E. Howden,et al.  Symbolic Testing and the DISSECT Symbolic Evaluation System , 1977, IEEE Transactions on Software Engineering.

[6]  Jeffrey D. Ullman,et al.  Characterizations of Reducible Flow Graphs , 1974, JACM.

[7]  Jeffrey M. Barth A practical interprocedural data flow analysis algorithm , 1978, CACM.

[8]  John Banning,et al.  : An Efficient , 2022 .

[9]  Barbara Gershon Ryder Incremental data flow analysis based on a unified model of elimination algorithms , 1982 .

[10]  Barry K. Rosen,et al.  High-level data flow analysis , 1977, CACM.

[11]  Elaine J. Weyuker,et al.  Theories of Program Testing and the Application of Revealing Subdomains , 1980, IEEE Transactions on Software Engineering.

[12]  Enrique Ivan Oviedo Control flow, data flow and program complexity , 1984 .

[13]  Richard J. Lipton,et al.  The design of a prototype mutation system for program testing , 1899, AFIPS National Computer Conference.

[14]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[15]  Thomas W. Reps,et al.  Incremental evaluation for attribute grammars with application to syntax-directed editors , 1981, POPL '81.

[16]  D UllmanJeffrey,et al.  Global Data Flow Analysis and Iterative Algorithms , 1976 .

[17]  Eugene W. Myers,et al.  A precise inter-procedural data flow algorithm , 1981, POPL '81.

[18]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[19]  Leon J. Osterweil,et al.  Data Flow Analysis in Software Reliability , 1976, CSUR.

[20]  William E. Howden,et al.  Reliability of the Path Analysis Testing Strategy , 1976, IEEE Transactions on Software Engineering.

[21]  Matthew S. Hecht,et al.  Flow Analysis of Computer Programs , 1977 .

[22]  Peter H. Feiler,et al.  An Incremental Programming Environment , 1981, IEEE Transactions on Software Engineering.

[23]  Barry K. Rosen Data Flow Analysis for Procedural Languages , 1979, JACM.

[24]  Jeffrey D. Ullman,et al.  Flow graph reducibility , 1972, SIAM J. Comput..

[25]  Leon J. Osterweil Using Data Flow Tools in Software Engineering , 1979 .

[26]  John Cocke,et al.  A program data flow analysis procedure , 1976, CACM.

[27]  Jeffrey Michael Barth A practical interprocedural data flow analysis algorithm and its applications. , 1977 .

[28]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[29]  John Phineas Banning A method for determining the side effects of procedure calls , 1978 .

[30]  Thomas W. Reps Optimal-time incremental semantic analysis for syntax-directed editors , 1982, POPL '82.

[31]  David B. Lomet Data Flow Analysis in the Presence of Procedure Calls , 1977, IBM J. Res. Dev..

[32]  Elaine J. Weyuker,et al.  Data flow analysis techniques for test data selection , 2015, ICSE '82.

[33]  Ken Kennedy A Comparison of Two Algorithms for Global Data Flow Analysis , 1976, SIAM J. Comput..

[34]  Mark N. Wegman,et al.  A Fast and Usually Linear Algorithm for Global Flow Analysis , 1976, J. ACM.

[35]  Carlo Ghezzi,et al.  Incremental Parsing , 1979, TOPL.

[36]  Ken Kennedy,et al.  Node listings applied to data flow analysis , 1975, POPL '75.