| A. Rountev, B. G. Ryder, and W. Landi. Data-Flow Analysis of Program Fragments. In O. Nierstrasz and M. Lemoine, editors, Proceedings of the Symposium on Foundations of Software Engineering, number 1687 in Lecture Notes in Computer Science, pages 235--252. Springer-Verlag, 1999. |
....application of the widening operation. Furthermore, the algorithm does not keep track of the contents of memory, which causes information to be lost when registers are saved restored. Typically, complexity of dataflow analyses has been a compromise between cost and precision (see, for example, [1, 21, 5, 13, 26]) For high level compilation, compiler writers have tended to use sophisticated analysis at the expense of increased resource usage. However, given that statically linked executable programs tend to be significantly larger than the corresponding source level entities, traditional analyses applied ....
....to assembly code, it is not obvious that using the algorithm for interprocedural whole program analysis would scale up to problems of this size. There is a considerably body of work on interprocedural dataflow analyses design to analyze only part, but not all, of a program (see, for example, [3, 5, 13, 26]) although only some of them use profile information to guide their decisions. This profile information is, however, widely used when performing optimizations [24, 7, 10, 18] On the other hand, while speculation has been commonly used in the compiler world for optimizing programs [19, 15, 20, ....
A. Rountev, B. G. Ryder, and W. Landi. Data-flow analysis of program fragments. In ESEC/FSE '99, volume 1687 of Lecture Notes in Computer Science, pages 235--252. Springer-Verlag / ACM Press, 1999.
....this approach enables our analysis policy to quickly discover and exploit the best opportunities while avoiding opportunities that provide little or no optimization payoff. 7. 3 Fragment and Incremental Analysis Fragment analysis is designed to analyze a predetermined part of the program [12, 13]. The analysis either extracts a result that is valid for all possible contexts in which the fragment may be placed [12] or is designed to analyze the fragment in the context of a whole program analysis result from a less expensive algorithm [13] A similar effect may be obtained by explicitly ....
.... to analyze a predetermined part of the program [12, 13] The analysis either extracts a result that is valid for all possible contexts in which the fragment may be placed [12] or is designed to analyze the fragment in the context of a whole program analysis result from a less expensive algorithm [13]. A similar effect may be obtained by explicitly specifying the analysis results for missing parts of the program [9, 15] Our approach differs in that it monitors the analysis results to dynamically determine which parts of the program it should analyze to obtain the best optimization outcome. ....
A. Rountev, B. Ryder, and W. Landi. Data-flow analysis of program fragments. In Proceedings of the ACM SIGSOFT 99 Symposium on the Foundations of Software Engineering, Toulouse, France, Sept. 1999.
....[8] They obtain summary functions for points to analysis of methods by inference of the relevant conditions on the unknown initial values for parameters and globals at method entry. Rountev et al. propose a framework for analyzing program fragments that is an extension of Chatterjee et al. s work [29]. Static Java compilers which perform interprocedural analysis and optimization, such as HPCJ [22] and Marmot [17] do not allow dynamic class loading during program execution. JAX (Jikes Application eXtractor) 33] is a byte converter for compressing application class files. It performs whole ....
A. Rountev, B. Ryder, and W. Landi. Data flow analysis of program fragments. In Proceedings of the 7th Symposium on the Foundations of Software Engineering, 1999.
....callsite to filter spurious program information. Thus, our technique can improve the precision and performance of many program analyses on which Horwitz, Reps, and Binkley s technique cannot apply. There are many other techniques that can improve the performance of program analyses (e.g. [13]) Our lightweight context recovery technique can be used with many of these approaches to improve further the performance of data flow analyses. 6 CONCLUSION AND FUTURE WORK We presented a light weight context recovery algorithm, and illustrated a technique that uses the information provided by ....
A. Rountev, B. G. Ryder, and W. Landi. Data-flow analysis of program fragments. In Joint 7th European Software Engineering Conference and 7th ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 235--252, September 1999.
....optimizations can be made. Interprocedural data flow analysis techniques typically require that the entire program representation be available in memory before the analysis is performed. Only recently have techniques been developed to modularize the interprocedural data flow analysis problem [52, 64]. Results of research in a demand driven approach to interprocedural data flow analysis [26, 27, 45] have shown that overhead can be reduced compared to more exhaustive methods. 2.3.2 Inlining Procedure inlining [2, 4, 5, 12, 16, 21, 22, 23, 46, 49, 56] is a widely researched and accepted means ....
A. Rountev, B. G. Ryder, and W. Landi. Data-flow analysis of program fragments. In ACM SIGSOFT International Symposium on the Foundations of Software Engineering (FSE), Sept. 1999.
....[CRL99, Cha99] preliminary empirical findings are encouraging. More recent work investigates program fragment analysis in which an initial, coarsegrained, whole program analysis is followed by an analysis of a fragment or module, which obtains more precise data flow information on that fragment [RRL99] This o#ers the promise of a focused analysis, that yields greater precision where it is needed. The second topic is how to make flow context insensitive analysis more e#ective without increasing the cost. An interesting idea stems from the observation that safe analyses produce supersets of ....
Atanas Rountev, Barbara G. Ryder, and William A. Landi. Data-flow analysis of program fragments. In Proceedings of Sixth ACM SIGSOFT Symposium on Foundations of Software Engineering, LNCS 1687, pages 235--252, September 1999.
....are defined that exercise def uses of exception objects. In contrast to our use of exception contexts, their approach is to record exceptional control flow explicitly in the program representation. Recent work in our research group presents a theoretical model for analysis of partial programs [RRL99]. Experiments with separate points to and side e#ect analyses of C libraries and library clients are described in [RR01] Recall that Def Use Algo is an application of relevant context inference to def use analysis. The points to analysis phases of Def Use Algo are similar to those in [CRL99] ....
Atanas Rountev, Barbara G. Ryder, and William A. Landi. Data-flow analysis of program fragments. In Proceedings of Sixth ACM SIGSOFT Symposium on Foundations of Software Engineering, LNCS 1687, pages 235-- 252, September 1999.
....mod analyses based on it. Our conceptual whole program mod analysis is based on this work. At call sites, 10] filters out certain variables whose lifetime has terminated; our use of the active filter is similar to this approach. A general approach for analyzing program fragments is presented in [14]. The interactions of the fragment with the rest of the program are modeled by summary values and summary functions. The worst case separate analyses are examples of fragment analyses, in which auxiliary statements play the same role as summary values and summary functions. Unlike [14] we use ....
....presented in [14] The interactions of the fragment with the rest of the program are modeled by summary values and summary functions. The worst case separate analyses are examples of fragment analyses, in which auxiliary statements play the same role as summary values and summary functions. Unlike [14], we use abstractions not only for lattice elements (i.e. points to graphs and Mod sets) but also for statements, procedures, and call graphs. The summary based separate analyses are also examples of fragment analyses, in which the summary information is used similarly to the summary functions ....
[Article contains additional citation context not shown here]
A. Rountev, B. G. Ryder, and W. Landi. Data-flow analysis of program fragments. In Symposium on the Foundations of Software Engineering, LNCS 1687, 1999.
.... : x x#Pt(v) # active(s, x) 13] add Mod(s) to ProcMod(EnclosingProc(s) 14] while changes occur in Mod or ProcMod do [15] foreach call statement s#Stmt do [16] foreach P #Called(s) do [17] Mod(s) Mod(s) # x x#ProcMod(P ) # [18] active(s, x) # accessible(s, x) [19] add Mod(s) to ProcMod(EnclosingProc(s) Figure 3: Whole program mod analysis. In our conceptual mod algorithm, a variable v is added to Mod(s) only if active(s, v) holds. 2 In addition, v is included in Mod(s) for a call statement s only if accessible(s, v) also holds. The filters active and ....
....usage of the analysis is proportional to the relative size of the library. These results clearly show that the optimizations presented in Section 5 can have significant impact on the size of the summary and the cost of the subsequent summarybased points to analysis. 8 Related Work The work in [19] presents a general approach for analyzing program fragments by using summary values to model the e#ects of calls to the fragment, and summary functions to model the e#ects of calls from the fragment to outside procedures. The worst case separate analyses are examples of fragment analyses. ....
[Article contains additional citation context not shown here]
A. Rountev, B. G. Ryder, and W. Landi. Data-flow analysis of program fragments. In Symposium on the Foundations of Software Engineering, LNCS 1687, pages 235--252, 1999.
....class representatives in Steensgaard s and Shapiro Horwitz s analyses was already discussed in Section 2. Other examples are the non visible names from [8] the invisible names from [4] the extended parameters from [18] the cycle witness variables from [5] the placeholder variables from [12], and the equivalence class representatives from [10] In general, the placeholders need not be used throughout the program; for example, in [8, 7, 4] a placeholder is used when analyzing a called procedure, and the original variable is used in the calling procedure. The flow sensitive pointer ....
A. Rountev, B. G. Ryder, and W. Landi. Data-flow analysis of program fragments. In Proc. Symposium on the Foundations of Software Engineering, LNCS 1687, pages 235--252, 1999.
....class representatives in Steensgaard s and Shapiro Horwitz s analyses was already discussed in Section 2. Other examples are the non visible names from [8] the invisible names from [4] the extended parameters from [18] the cycle witness variables from [5] the placeholder variables from [12], and the equivalence class representatives from [10] In general, the placeholders need not be used throughout the program; for example, in [8, 7, 4] a placeholder is used when analyzing a called procedure, and the original variable is used in the calling procedure. The flow sensitive pointer ....
A. Rountev, B. G. Ryder, and W. Landi. Data-flow analysis of program fragments. In Proc. Symposium on the Foundations of Software Engineering, LNCS 1687, pages 235--252, 1999.
....summary for reverse engineering of the library. The design of our separate points to analysis is based on a general approach for designing separate flow and context insensitive analyses. This approach (described in Section 2) is a modification of an earlier model for analyzing program fragments [16]; the relationship with this previous work is discussed in Section 8. The approach shows how to derive a separate analysis from a given whole program analysis, and how to generate summaries for the resulting separate analysis. The general idea behind the derivation is to abstract away some ....
....the relative size of the library. For example, for bzip2 the majority of the program is in the library, and the cost reduction is significant. In gnuplot only 5 of the variables and basic statements come from the library, and the analysis cost is reduced accordingly. 8 Related Work The work in [16] presents an approach for analyzing program fragments. Fragment analysis uses summary values representing the e#ects of calls to the fragment, and summary functions representing the e#ects of calls from the fragment to outside procedures. The relationship between fragment analysis and ....
[Article contains additional citation context not shown here]
A. Rountev, B. G. Ryder, and W. Landi. Dataflow analysis of program fragments. In Proc. Symp. Foundations of Software Engineering, LNCS 1687, pages 235--252, 1999.
No context found.
A. Rountev, B. G. Ryder, and W. Landi. Data-Flow Analysis of Program Fragments. In O. Nierstrasz and M. Lemoine, editors, Proceedings of the Symposium on Foundations of Software Engineering, number 1687 in Lecture Notes in Computer Science, pages 235--252. Springer-Verlag, 1999.
No context found.
A. Rountev, B. Ryder, and W. Landi. Data-flow analysis of program fragments. In Proceedings of the ACM SIGSOFT 99 Symposium on the Foundations of Software Engineering, Toulouse, France, Sept. 1999.
No context found.
A. Rountev, B.G. Ryder, and W. Landi. Data-flow analysis of program fragments. In ESEC/FSE'99, volume 1687 of LNCS, pages 235--252. Springer-Verlag, 1999.
No context found.
A. Rountev, B. G. Ryder, and W. Landi. Data-flow analysis of program fragments. In ESEC/FSE '99, volume 1687 of Lecture Notes in Computer Science, pages 235--252. Springer-Verlag / ACM Press, 1999.
No context found.
A. Rountev, B. Ryder, and W. Landi. Data-flow analysis of program fragments. In Proceedings of the ACM SIGSOFT 99 Symposium on the Foundations of Software Engineering, Toulouse, France, Sept. 1999.
No context found.
RRL99. A. Rountev, B. Ryder, and W. Landi. Data-flow analysis of program fragments. In Proceedings of the 7th European Software Engineering Conference and 7th ACM SIGSOFT Symposium on the Foundations of Software Engineering, 1999.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC