| T. J. Marlowe, W. A. Landi, B. G. Ryder, J. D. Choi, M. G. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9), pages 67--70, September 1993. |
....information propagated by two different invocations of a procedure from the same callsite. Further, they cannot properly handle information propagated along call chains of size greater than one. They also propose using a source alias set abstraction, but its role is not clear from their paper [33]. We do not introduce these approximations, as we explicitly propagate information along invocation paths in the program, using the invocation graph representation. Several other advantages of using invocation graphs are mentioned in section 4. Our empirical results also support the feasibility ....
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. D. Choi, M. G. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9), pages 67--70, September 1993.
....and function variables) however, a call site may not be bound statically to a unique function. Thus the process of constructing the PCG is more complex. Several approaches to building the PCG in the presence of function pointers exist, with varying degrees of complexity and precision [30][54]. An approach that simply assumes 78 that an invocation through a function pointer may invoke any function in the program requires a single pass over the program, and thus is the least costly with the least precision. An approach that takes into account only the functions that have been ....
T. Marlowe, W. Landi, B. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced Aliasing: A Clarification. ACM SIGPLAN Notices, 28(9), pages 67-70, September 1993.
....points to b, and b points to c, the compact representation records only the following alias set: fha; bi; hb; cig, from which it can be inferred that h a; ci and h a; bi are also aliases. The cost and time when such information is inferred can affect the precision and efficiency of the analysis [22, 12, 20]. Interprocedural data flow analysis can be classified as flowsensitive or flow insensitive, depending on whether controlflow information of a procedure is used during the analysis [23] By not considering control flow information, and therefore computing a conservative summary, a ....
T. Marlowe, W. Landi, B. Ryder, J.-D. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, Sept. 1993.
.... and Ryder 1991] Approximate algorithms that handle pointers have been developed and prototyped [Landi et al. 1993; Choi et al. 1993] The two algorithms have different complexities that are not directly comparable; in different circumstances one or the other may be more efficient or more precise [Marlowe et al. 1993]. All forms of alias analysis depend on building up some sort of abstract representation of the structures created by the program. The dynamically varying possibilities of the program are represented statically by allowing cells to point to more than one thing. To limit the size of this ....
Marlowe, T. J., Landi, W. G., Ryder, B. G., Choi, J.-D., Burke, M. G., and Carini, P. 1993. Pointer-induced aliasing: a clarification. SIGPLAN Not., 28, 9, 67--70.
....which it assumes all pointers may point to. This set will contain eight objects, fa, p, q, heap S1 , heapS3 , heapS5 , heapS7 , heap S10 g, all of which will appear to be referenced at S4. The ST analysis joins two objects that are pointed to by the same pointer into one object. This leads 2 See [29, 5, 32] for a discussion of precision trade offs between this representation and an explicit representation, which would contain all four alias pairs. 5 to the joining of the points to sets of these formerly distinct objects. This unioning removes the necessity of iteration from the algorithm. In the ....
Thomas Marlowe, William Landi, Barbara Ryder, Jong-Deok Choi, Michael Burke, and Paul Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
....These objects are referred to as heapn , where n is the SEG node number of the allocation statement. These names are unique throughout 2 Discussions of precision tradeoffs between this representation and an explicit representation, which would contain all four alias pairs, can be found in [28, 3, 32]. 7 the entire program. More precise heap modeling schemes can improve precision, but may also increase time space costs. 3 Combining Pointer Alias Analysis and Conditional Constant Propagation This section describe our extensions to conditional constant propagation. It then explains three ways ....
Thomas Marlowe, William Landi, Barbara Ryder, Jong-Deok Choi, Michael Burke, and Paul Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
....for the FAandPT Analysis by varying the threshold to explore the tradeoff of efficiency and precision. 4 Related Work Many pointer aliasing analysis or points to analysis algorithms have been proposed in the literature. These algorithms can be classified into flow sensitive and contextsensitive [4, 5, 6, 7, 10, 12, 21], flow insensitive and context insensitive [2, 15, 16, 17, 18, 20] flow sensitive and context insensitive [3, 13] or flow insensitive and context sensitive [1] They can also be organized into stack based aliasing analysis [6] heap based aliasing analysis [3, 5, 7, 8, 9, 11] or both [4, 10, ....
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. D. Choi, M. G. Burke, and P. Carini. Pointer-induced aliasing: a clarification. ACM SIGPLAN Notices, 28(9):67--70, 1993.
....analysis with kill [4, 5] attempts to improve the precision of the flow insensitive analysis by precomputing kill information for pointers, and then uses this information during the flow insensitive analysis at call sites. 3 For example, the precomputation will determine 2 See [25, 5] for a discussion of precision tradeoffs betweenthis representation and a representation that would contain all four pairs. 3 Kill information is computedin a single flow sensitive prepass of eachCFG. that all alias relations involving p on entry to f will be killed before the call to g at S5. ....
Thomas Marlowe, William Landi, Barbara Ryder, JongDeok Choi, Michael Burke, and Paul Carini. Pointerinduced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
....attempts to improve the precision of the flow insensitive analysis by precomputing kill information for pointers, and then uses this information during the flow insensitive analysis at call sites. 5 For example, the precomputation will determine that all alias relations involving p on 3 See [34, 6] for a discussion of precision trade offs between this representation and an explicit representation, which would contain all four alias pairs. 4 Although a final intraprocedural flow sensitive pass can be used to improve precision [6] this pass has not been implemented. 5 Kill information is ....
Thomas Marlowe, William Landi, Barbara Ryder, JongDeok Choi, Michael Burke, and Paul Carini. Pointerinduced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
....can be compactly represented using a transitive reduction strategy [2] In that compact form, the alias pairs are not much different than a points to representation. There are some differences in precision between using full alias pairs and points to functions, but neither is clearly superior [14]. We have found that the points to function is a compact representation that works well for analyzing C programs. Our scheme for naming heap objects is taken directly from Choi et al. Most other work has used k limiting, where some arbitrary limit is imposed on the length of pointer chains in ....
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. D. Choi, M. G. Burke, and P. Carini. Pointer-Induced Aliasing: A Clarification. ACM SIGPLAN Notices, 28(9):67--70, Sept. 1993.
....to as heapn , where n is the CFG node number of the allocation statement. These 1 Potential calls can occur due to function pointers and virtual methods, in which the called function is not known until run time. 2 As the PCG is not used, this can include functions that are not called. 3 See [30, 5] for a discussion of precision trade offs between this representation and an explicit representation, which would contain all four alias pairs. 4 S1 : build the initial PCG S2 : foreach procedure, p, in the PCG, loop S3 : initialize interprocedural alias sets of p to fg S4 : end loop S5 : ....
Thomas Marlowe, William Landi, Barbara Ryder, Jong-Deok Choi, Michael Burke, and Paul Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
....understanding, particularly for programmers reading code which they did not write. Our focus in this paper is on the efficient and practical solution of the pointer aliasing problem to facilitate these applications. Many techniques for compile time pointer aliasing analysis have been proposed [3, 4, 6, 7, 8, 9, 11, 14, 15, 22, 26, 27, 32, 36, 37, 39, 40]. Some of them are more appropriate for aliases involving accesses to heap locations [6, 8, 11, 14, 15, 26, 36] others for aliases involving accesses to stack locations [9, 39] Still others handle both in a similar fashion [3, 4, 7, 22, 27, 32, 37, 40] All of these methods vary in the precision ....
.... proposed [3, 4, 6, 7, 8, 9, 11, 14, 15, 22, 26, 27, 32, 36, 37, 39, 40] Some of them are more appropriate for aliases involving accesses to heap locations [6, 8, 11, 14, 15, 26, 36] others for aliases involving accesses to stack locations [9, 39] Still others handle both in a similar fashion [3, 4, 7, 22, 27, 32, 37, 40]. All of these methods vary in the precision of the aliasing information calculated and their cost. For compile time pointer aliasing analysis, a program can be considered a sequence of assignments having effects on pointer aliasing; we call them pointer related assignments. In this paper, we ....
[Article contains additional citation context not shown here]
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. D. Choi, M. G. Burke, and P. Carini. Pointer-induced aliasing: a clarification. ACM SIGPLAN Notices, 28(9):67--70, 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
....alias relation hp; qi be added at S2 in order to determine that the alias relation h q; yi exists at S3. In Section 6. 7, we provide examples that illustrate how each representation can be more precise than the other, and characterize the trade offs in precision between the two representations [Marlowe et al. 1993]. We also describe methods to recover some of the precision lost due to the compact representation. The compact representation, introduced in [Choi et al. 1993] is highly similar to the points to representation of Emami et al. 1994] The only difference between the representations is that the ....
....the Compact Representation The compact representation (Section 3) requires less storage and also can be more precise in the presence of alias kills than the full representation. However, it can be less precise than the full representation when aliases are merged at a join node of the PCG or CFG [Marlowe et al. 1993]. This section illustrates this trade off in precision and describes how to improve the precision of the compact representation by using techniques from the previous sections. Once again, consider the alias graph in Figure 19, which illustrates the alias information kept by compact and ....
[Article contains additional citation context not shown here]
Marlowe, T., Landi, W., Ryder, B., Choi, J.-D., Burke, M., and Carini, P. 1993. Pointerinduced aliasing: A clarification. SIGPLAN Notices 28, 9 (Sept.), 67--70.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
....decomposition [2] All of this work targeted the programming model of Fortran and related languages with no pointer usage. Choi, Burke, and Carini mention an interprocedural modificationside effects algorithm for languages with pointers based on their flow sensitive pointer aliasing technique [3, 12]; it is difficult to compare this work to theirs, because they gave no description of their algorithm and offered no implementation results. Another approach to side effect analysis is to perform an interprocedural pointer aliasing algorithm and then identify all variables experiencing side ....
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, Sept. 1993.
....Expand(b; 1) which would eventually return fcg. The Appendix provides examples that illustrate how the compact representation and the explicit representation are incomparable each can be more precise than the other and characterizes the trade offs in precision between the two representations [Marlowe et al. 1993]. The compact representation, introduced in Choi et al. 1993] is highly similar to the points to representation [Emami et al. 1994; Ghiya 1992] The major difference 1 The implementation described in Section 4 names objects based on their allocation site [Chase et al. 1990; Horwitz et al. ....
....and Lam 1995; Zhang et al. 1998] Landi and Ryder [1992] use a representation that explicitly describes all alias relations at the cost of increased storage. The Appendix illustrates how the compact and explicit representations have incomparable precision. Similar discussions can be found in Marlowe et al. 1993], Landi et al. 1998] and Pioli [1999] To kill alias relations at assignment statements whose left side contains pointer dereferences, must information about the left side expression is required. Our treatment optimistically kills alias relations if the current alias information resolves the ....
[Article contains additional citation context not shown here]
Marlowe, T., Landi, W., Ryder, B., Choi, J.-D., Burke, M., and Carini, P. 1993. Pointerinduced aliasing: A clarification. SIGPLAN Notices 28, 9 (Sept.), 67--70.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
.... precision to achieve appropriate cost benefit goals This question can be considered, for example, in the field of pointer analysis[Zhang et al. 1996] Recently, there have been significant advances in the approximate analyses of difficult program constructs such as pointers[Choi et al. 1993; Marlowe et al. 1993; Burke et al. 1994; Landi and Ryder 1992; Steensgaard 1996] These approximate analysis methods are difficult to compare in terms of accuracy and efficiency, but are necessarily approximate because of the provable difficulty of the problem they address. Before reasonable software tools can ....
Marlowe, T. J., Landi, W. A., Ryder, B. G., Choi, J., Burke, M., and Carini, P. 1993. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices 28, 9 (September), 67-- 70.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
....MOD REF solution of similar precision. 1 Introduction Compile time analysis of pointer induced aliases is critical for optimization, parallelization, program transformation and many other applications. Over the past few years, many techniques for the analysis have been proposed in the literature [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 19, 22, 24, 26, 28, 30]. Some of them are more appropriate for aliases involving accesses to heap locations (i.e. heap based aliases) e.g. 4, 6, 12] Some are more appropriate for aliases involving accesses to stack locations (i.e. stack based aliases) e.g. 7, 8] Others handle both in a similar fashion, e.g. ....
....analysis. It is our conjecture that the flow insensitive analysis is not doing as well as either the flowsensitive analysis or the combined analysis because it calculates a symmetric alias relation. 7 Related Work Many pointer aliasing analysis algorithms have been proposed in the literature [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 16, 19, 22, 24, 26, 28, 30]. Any of these algorithms can be employed for individual weakly connected components in our program decomposition. In addition, our decomposition enables a sparse program representation for each component and therefore will allow any analysis algorithm to run faster. The existing analysis ....
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. D. Choi, M. G. Burke, and P. Carini. Pointer-induced aliasing: a clarification. ACM SIGPLAN Notices, 28(9):67--70, 1993.
....decomposition [2] All of this work targeted the programming model of Fortran and related languages with no pointer usage. Choi, Burke, and Carini mention an interprocedural modification side effects algorithm for languages with pointers based on their flow sensitive pointer aliasing technique [3, 12]; it is difficult to compare this work to theirs, because they gave no description of their algorithm and offered no implementation results. 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 moria flex football tbl triangle arc simulator patch lharc livc gnugo assembler unzip diff cdecl sim zipcloak compiler ....
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, Sept. 1993.
....least one named object or that involve more than one level of dereferencing. This representation enables deferred evaluation to be used during the intraprocedural component of our flow insensitive analysis. Tradeoffs between this representation and a more exhaustive approach [26] are discussed in [30]. Interprocedural data flow analyses make use of the PCG. Figure 3 illustrates the PCG for an example program segment, where nodes represent procedures and edges represent call sites. Unlike reference parameter aliasing, pointer induced aliasing is a bi directional data flow problem over the PCG: ....
Thomas Marlowe, William Landi, Barbara Ryder, Jong-Deok Choi, Michael Burke, and Paul Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
....of dereferencing. This representation enables deferred evaluation to be used during the intraprocedural component of our flow insensitive analysis. A discussion of this technique is provided in Section 4. Tradeoffs between this representation and a more exhaustive approach [23] are discussed in [27]. 3 Flow Insensitive Interprocedural Alias Analysis To improve efficiency, a flow insensitive analysis does not rely on intraprocedural control flow information. Instead, the effects of a procedure are captured in a summarized form and associated with either a node or edge of the PCG. In the ....
Thomas Marlowe, William Landi, Barbara Ryder, Jong-Deok Choi, Michael Burke, and Paul Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
....and Kennedy, it is not precise. Weihl[17] proved that the problem of determining possible values for procedure valued variables without considering other aliasing is P space hard. A related area of research is the work done on analyzing aliasing induced by pointers other than function pointers [4, 9, 12, 13]. Since function pointers are just a special kind of pointers, these methods have been adapted to handle function pointers [1, 6, 7] but none of these analyses explicitly define their precision and none are precise according to our definition of the problem. There has also been some work on using ....
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. D. Choi, M. G. Burke, and P. Carini. Pointer-induced aliasing: a clarification. ACM SIGPLAN Notices, 28(9):67--70, 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. J. Marlowe, W. A. Landi, B. G. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. Marlowe, W. Landi, B. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T.J. Marlowe, W. A. Landi, B. G. Ryder, J. D. Choi, M. G. Burke, and P. Carini. Pointer Induced Aliasing: A Clarification. In ACM SIGPLAN Notices, 28(9), pages 67--70, 1993.
No context found.
Thomas J. Marlowe, William G. Landi, Barbara G. Ryder, Jong-Deok Choi, Michael G. Burke, and Paul Carini. Pointer-induced aliasing: A clarification. Sigplan Notices, 28(9):67--70, September 1993.
No context found.
T. J. Marlowe, W. G. Landi, B. G. Ryder, J.-D. Choi, M. G. Burke, and P. Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. Marlowe, W. Landi, B. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T. Marlowe, W. Landi, B. Ryder, J. Choi, M. Burke, and P. Carini. Pointer-induced aliasing: A clarification. ACM SIGPLAN Notices, 28(9):67--70, September 1993.
No context found.
T.J. Marlowe, W.G. Landi, B.G. Ryder, J.D. Choi, M.G. Burke, and P. Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, Sept. 1993.
No context found.
T. J. Marlowe, W. G. Landi, B. G. Ryder, J.-D. Choi, M. G. Burke, and P. Carini. Pointer-induced aliasing: A clarification. SIGPLAN Notices, 28(9):67--70, September 1993.
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