| R. Chatterjee, B.G. Ryder, and W.A. Landi, "Relevant Context Inference," Proc. ACM SIGACT/SIGPLAN Symp. Principles of Programming Languages, Jan. 1999. |
....an approach for identifying memory blocks allocated from the heap in C programs. Many of the points to analyses for C programs, including those that have been extended for Java programs, use an allocation site to identify the memory blocks allocated from the heap at this allocation site (e.g. [1, 2, 8, 7, 14]) However, because di#erent blocks allocated at the same allocation site may be used in di#erent ways, this approach may result in very imprecise information. For example, for the program in Figure 1, a points to analysis identifies the memory blocks allocated at statement 11 using h 11. Thus, it ....
....locations that may be accessed through each pointer dereference in C programs. Many points to analysis algorithms have been developed. These algorithms can be classified according to their approach for modeling controlflow within a procedure and among procedures. A flowsensitive algorithm (e.g. [7, 2]) considers the execution order of program statements, and computes a set of points to relations at each program point. A flowinsensitive algorithm (e.g. 1, 8, 14] ignores the execution order of program statements, and computes one set of points to relations for all program points in a ....
[Article contains additional citation context not shown here]
R. Chatterjee, B. G. Ryder, and W. A. Landi. Relevant context inference. In ACM, editor, POPL '99. Proceedings of the 26th ACM SIGPLAN-SIGACT on Principles of programming languages, pages 133--146, Jan. 1999.
....in a demand driven manner. 4.9 Java and Object Oriented Languages There has been little work done in the area of pointer analysis for object oriented programs. Some have modi ed pointer analyses to handle dynamic dispatch in C [67, 8, 66] while others have developed new modular algorithms [11, 10]. Others have focused on Java [102, 25, 96, 60, 77] In Java all references are heap directed, and thus, distinguishing the heap is even more important than it is in C. This may raise the importance of simpler shape analysis techniques [28, 29] Jong Deok Choi raises another issue: Must alias ....
R. Chatterjee, B. G. Ryder, and W. A. Landi. Relevant context inference. In 26th Annual ACM SIGACT-SIGPLAN Jan. 1999.
....even some intraprocedural problems such as pointer or alias analysis whose statement flow behaviors cannot easily be combined into a concise summary for use in an interval analysis. The usual response has been either to forgo summaries or to make overly conservative approximations in the summary [23]. Wilson and Lain observed that for pointer analysis of C programs, while a precise summary of a procedure is not feasible, often only a small number of the possible contexts occur in a given program [122, 121] Once a context for a given procedure 118 ll9 int foo(int p, int q) p = 3; ....
....call site, rather than a single PTF per procedure, does our procedure PTFSummarize. They thereby achieve some of the benefits of a set of guarded PTFs representation, without the problem of how to bound set size. 4.6.3. 1 Assumed Aliases The assumed alias pairs and relevant context summaries of [23, 74] can be viewed as approximate PTFs. The assumed alias condition amounts to a PTF guard. The guarded function approximates an exact transfer function for that alias condition. However, there is no attempt to be exact, and the chosen approximation seems to be based on a desire to improve running ....
R. Chatterjee, B. Ryder, and W. A. Landi. Relevant context inference. In Proceedings of the Twenty-sixth Annual A CM Symposium on the Principles of Programming Languages, pages 133 146, 1999.
....This algorithm supports strong updates and extracts enough information to obtain fully context sensitive results in a compositional way. Chatterjee, Ryder, and Landi describe an approach that extracts multiple analysis results; each result is indexed under the calling context for which it is valid [9]. Our approach extracts a single analysis result for calling contexts with no aliases, and merges nodes for calling contexts with aliases. The disadvantage of this approach is that it may produce less precise results than approaches that maintain information for multiple calling contexts. The ....
R. Chatterjee, B. Ryder, and W. Landi. Relevant context inference. In Proceedings of the 26th Annual ACM Symposium on the Principles of Programming Languages, San Antonio, TX, January 1999.
.... the analysis becomes context sensitive which improves the precision (and may decrease the cost if the function procedure may be analyzed only once, not for all dierent possible contexts) An example of such a symbolic relational separate analysis is the notion of summary transfer function of [6, 7] in the context of points to analysis for C . A summary transfer function for a method expresses the eects of the method invocation on the points to solution parameterized by unknown symbolic initial values and conditions on these values. Another example of symbolic relational separate analysis ....
R. Chatterjee, B.G. Ryder, and W. Landi. Relevant context inference. In 26 POPL, 133146, San Antonio, 1999. ACM Press.
No context found.
R. Chatterjee, B.G. Ryder, and W.A. Landi, "Relevant Context Inference," Proc. ACM SIGACT/SIGPLAN Symp. Principles of Programming Languages, Jan. 1999.
No context found.
R. Chatterjee, B. G. Ryder, and W. A. Landi, "Relevant context inference, " in Proceedings of the ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Jan. 1999.
No context found.
R. Chatterjee, B.G. Ryder, and W. Landi, "Relevant Context Inference," Proc. Symp. Principles of Programming Languages, pp. 133-146, 1999.
No context found.
R. Chatterjee, B. G. Ryder, and W. A. Landi. Relevant context inference. In Proceedings of the ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Jan. 1999.
No context found.
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In Symposium on Principles of Programming Languages, pages 133--146, 1999.
No context found.
R. Chatterjee, B. G. Ryder, and W. A. Landi. Relevant context inference. In Proceedings of the ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Jan. 1999.
No context found.
R. Chatterjee, B.G. Ryder, and W. Landi, "Relevant Context Inference," Proc. Symp. Principles of Programming Languages, pp. 133-146, 1999.
No context found.
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In Symposium on Principles of Programming Languages, pages 133--146, 1999. 108
No context found.
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In POPL, pages 133--146, 1999.
....analyses using specific choices for each dimension are cited. The goal here is to better understand how these analyses differ, not to select a best reference analysis. 3.1 Flow sensitivity An early example of a flow and context sensitive reference analysis was presented by Chatterjee et. al [8]. This algorithm was designed as a backwards and forwards dataflow propagation on the strongly connected component decomposition of the approximate calling structure of the program. Although the successful experiments performed on programs written in a subset of C showed excellent precision of ....
....can be obtained by picking the right practical embedding of context sensitivity. 3. 3 Program representation (i.e. calling structure) Early reference analyses [15, 14, 4] were used to provide a static call graph that initialized computation for a subsequent, more precise reference analysis [29, 8, 23, 45]. Other analyses constructed the call graph lazily, as new call edges became known due to discovery of a new object being referred to [27, 31, 48, 33, 26, 23] Grove and Chambers discuss the relative merits of both approaches and conclude that the lazy construction approach is preferred [18] ....
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In Symposium on Principles of Programming Languages, pages 133--146, 1999.
....such criteria. to determine what are the classes of the objects that variable x may refer to at call site x.m( from this it is trivial to compute the RC and TM criteria for the call site. There is a large body of work on various class analyses with different tradeoffs between cost and precision [26, 1, 2, 28, 14, 5, 17, 13, 9, 29, 32, 34, 38, 35, 19, 31, 16, 23]. However, there has been no previous work on using these analyses for the purposes of testing of polymorphism. 1.3 Fragment Class Analysis The existing body of work on class analysis cannot be used directly to compute the RC and TM coverage requirements in a coverage tool. The key problem is ....
....class analyses have been adapted to analyze program fragments rather than whole programs. Chatterjee and Ryder [8] present a flow and context sensitive points to analysis for library modules in object oriented software. The analysis is an adaptation of an earlier whole program analysis [9]. Sweeney and Tip [36] describe analyses and optimizations for the removal of unused functionality in Java modules. Their work presents a method for performing RTA on program fragments. The approaches from [8] and [36] can be used to compute coverage requirements in tools for testing of ....
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In Symposium on Principles of Programming Languages, pages 133--146, 1999.
....developed in the context of optimizing compilers. Class analysis computes a set of classes for each program variable r; this set approximates the classes of all run time objects that may be bound to r. There is a wide variety of existing class analyses with various degrees of cost and precision [17, 1, 2, 18, 9, 4, 11, 8, 6, 19, 21, 22, 23, 25, 15, 20, 10, 16]. These analyses can be used for ORD and ExtORD construction. More precise underlying class analyses result in fewer spurious dependences and therefore more precise ORDs and ExtORDs. For the set of statements in Figure 3, the set of possible classes of all objects that may be bound to variable xy ....
....the following question: given the diagram, what cycles should be removed so that the minimum number of stubs will need to be constructed. Our work concentrates on improving the precision of the ORD, which potentially leads to fewer dependence cycles. There are many existing class analyses [17, 1, 2, 18, 9, 4, 11, 8, 6, 19, 21, 22, 23, 25, 15, 20, 10, 16] that have been used in the context of optimizing compilers and software engineering tools for object oriented programming languages. Our work is the first one to investigate the use of these analyses for the purposes of ORD ExtORD construction. 6 Conclusions and Future Work We have shown how ....
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In Symposium on Principles of Programming Languages, pages 133--146, 1999.
....in those methods appear. input Stmt : set of statements map: R Methods: set of methods Pt : R # # P(O output Mod : Stmt declare MMod : Methods [1] foreach indirect write s : p. f = q [3] Mod(s, c) o ij #Pt(map(p, c) 5] while changes occur in Mod or MMod do [6] foreach virtual call s : l = r.m( 8] foreach object o ij #Pt(map(r, c) do okl okl #MMod(target (o ij , m) o ij ) 11] foreach static call s : l = C.m( MMod(m, #) Figure 7: Object sensitive MOD analysis. P(X) denotes the power set of X. Example. Consider the ....
.... before or together with its callers) Also, our analysis is based on Andersen s analysis, which has cubic time worst case complexity [4] Ruf s algorithm is based on the almost linear Steensgaard s points to analysis for C [25] Other context sensitive pointsto analyses for Java are presented in [13, 6]. The algorithm in [6] uses method summaries to model context sensitivity, while [13] uses the call string approach. In general, these analyses are more precise and significantly more costly than ours, which is due to their flow sensitivity. Flow insensitive context insensitive points to analyses ....
[Article contains additional citation context not shown here]
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In Symposium on Principles of Programming Languages, pages 133--146, 1999.
....in context c, based on the class input Stmt : set of statements map: R Methods: set of methods Pt : R # # P(O output Mod : Stmt declare MMod : Methods [1] foreach indirect write s : p. f = q [3] Mod(s, c) o ij #Pt(map(p, c) 5] while changes occur in Mod or MMod do [6] foreach virtual call s : l = r.m( 8] foreach object o ij #Pt(map(r, c) do okl okl #MMod(target (o ij , m) o ij ) 11] foreach static call s : l = C.m( MMod(m, #) Figure 7: Object sensitive MOD analysis. P(X) denotes the power set of X. of o ij and the ....
.... before or together with its callers) Also, our analysis is based on Andersen s analysis, which has cubic time worst case complexity [4] Ruf s algorithm is based on the almost linear Steensgaard s points to analysis for C [24] Other context sensitive pointsto analyses for Java are presented in [13, 6]. The algorithm in [6] uses method summaries to model context sensitivity, while [13] uses the call string approach. In general, these analyses are more precise and significantly more costly than ours, which is due to their flow sensitivity. Flow insensitive context insensitive points to analyses ....
[Article contains additional citation context not shown here]
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In Symposium on Principles of Programming Languages, pages 133--146, 1999.
.... I Pt : V output Mod : Stmt declare Called : Stmt # P(Proc) ProcMod : Proc [2] if s is a direct call to procedure P then P [4] if s is an indirect call through pointer q then procedure P #Pt(q) 7] if SynMod(s) v, D) then [9] if v is global or static local then [10] add to ProcMod (EnclosingProc(s) 11] if SynMod(s) v, I) then x x#Pt(v) active(s, x) 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 ) accessible(s, x) ....
....3.1. Our techniques trivially apply to other flow and context insensitive points to analyses (e.g. 60, 56, 17] and to mod analyses based on them. 3.3. 1 Summary Construction Previous work on context sensitive points to analysis uses summary information computed for each program procedure [35, 54, 68, 31, 10, 12]. In these approaches, the e#ects of a 36 procedure P are represented by a summary function that encodes the cumulative e#ects of the transfer functions of all statements from P and from all procedures transitively called by P . Some analyses construct partial functions that are defined only for ....
[Article contains additional citation context not shown here]
R. Chatterjee, B. G. Ryder, and W. Landi. Relevant context inference. In Symposium on Principles of Programming Languages, pages 133--146, 1999.
No context found.
R. Chatterjee, B. G. Ryder, and W. A. Landi, "Relevant context inference, " in Proceedings of the ACM Symposium on Principles of Programming Languages, pp. 133--146, January 1999.
No context found.
R. Chatterjee, B. G. Ryder, and W. A. Landi. Relevant context inference. In POPL '99. ACM Press, 1999.
No context found.
R. Chatterjee, B.G.Ryder, and W.A.Landi. Relevant context inference. In Proceedings of the Symposium on Principles of Programming Languages, 1999.
No context found.
R. Chatterjee, B. Ryder, and W. Landi. Relevant context inference. In Proceedings of the 26th Annual ACM Symposium on the Principles of Programming Languages, San Antonio, TX, January 1999.
No context found.
R. Chatterjee, B. G. Ryder, and W. A. Landi. Relevant context inference. In POPL '99. ACM Press, January 1999.
First 50 documents Next 50
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