MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Data-flow analysis of program fragments (1999) [36 citations — 10 self]

Download:
Download as a PDF | Download as a PS
by Atanas Rountev, Barbara G. Ryder, William L
In Proceedings of the ACM SIGSOFT 99 Symposium on the Foundations of Software Engineering
http://www.prolangs.rutgers.edu/refs/docs/fse99.ps
Add To MetaCart

Abstract:

Abstract. Traditional interprocedural data-flow analysis is performed on whole programs; however, such whole-program analysis is not feasible for large or incomplete programs. We propose fragment data-flow analysis as an alternative approach which computes data-flow information for a specific program fragment. The analysis is parameterized by the additional information available about the rest of the program. We describe two frameworks for interprocedural flow-sensitive fragment analysis, the relationship between fragment analysis and whole-program analysis, and the requirements ensuring fragment analysis safety and feasibility. We propose an application of fragment analysis as a second analysis phase after an inexpensive flow-insensitive whole-program analysis, in order to obtain better information for important program fragments. We also describe the design of two fragment analyses derived from an already existing whole-program flow- and context-sensitive pointer alias analysis for C programs and present empirical evaluation of their cost and precision. Our experiments show evidence of dramatically better precision obtainable at a practical cost. 1

Citations

1266 Abstract interpretation : a unified lattice model for the static analysis of programs by construction or approximation of fixpoints – Cousot, Cousot - 1977
415 Points-to analysis in almost linear time – Steensgaard - 1996
339 Effective context-sensitive pointer analysis for C programs – Wilson, Lam - 1995
329 Context-sensitive interprocedural points-to analysis in the presence of function pointers – Enami, Ghiya, et al. - 1994
301 A safe approximate algorithm for interprocedural pointer aliasing – Landi, Ryder - 1992
234 Precise interprocedural dataflow analysis via graph reachability – Reps, Sagiv, et al. - 1995
216 Two approaches to interprocedural data flow analysis – Sharir, Pnueli - 1981
137 Fast and Accurate Flow-Insensitive Points-To Analysis – Shapiro, Horwitz - 1997
129 Program fragments, linking, and modularization – CARDELLI - 1997
91 Relevant Context Inference – Chatterjee, Ryder, et al. - 1999
59 Compiler Design – Wilhelm, Maurer - 1995
54 Modular model checking – Kupferman, Vardi - 1998
54 Data flow analysis as model checking of abstract interpretations – Schmidt, Steffen - 1998
53 Compositional analysis of modular logic programs – Codish, Debray, et al. - 1993
46 An efficient hybrid algorithm for incremental data flow analysis – MARLOWE, G - 1990
43 Program decomposition for pointer aliasing: A step towards practical analyses – Zhang, Ryder, et al. - 1996
42 Effective whole-program analysis in the presence of pointers – Atkinson, Griswold - 1998
34 Properties of data flow frameworks, a unified model – Marlowe, Ryder - 1990
25 Properties of data flow frameworks: A unified model – Marlowe, Ryder - 1990
20 Separate Computation of Alias Information for Reuse – Harrold, Rothermel - 1996
19 Data-flowbased Testing of Object-Oriented Libraries – Chatterjee, Ryder - 1999
8 Comparing flow- and context-sensitivity on the modification side-e#ects problem – Stocks, Ryder, et al. - 1998
8 An e#cient hybrid algorithm for incremental data flow analysis – Marlowe, Ryder - 1990