51 citations found. Retrieving documents...
R. Ghiya and L.J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. In Proc. of the 8th Intl. Work. on Languages and Compilers for Parallel Computing, number 1033 in Lecture Notes in Computer Science, pages 515--534, Columbus, Ohio, August 1995. Springer-Verlag.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Analyzing Java Arrays: Combness and Synchness Analysis - Peng Wu Paul   (Correct)

....example of a 3 dimensional comb synchness, to re ect the multi pointer hierarchy of Java arrays. Synchness, by exploiting the well de ned addressing model of arrays, resolves aliasing between two arrays at the element level. Two references are connected if they can access a common heap location [2], otherwise, they are separated. Synchness, however, is not only interested in whether two arrays are connected, but also how they are connected. For example, if any element a[i] of a is connected to element b[i] of b and it not connected to any other element of b, then a and b are synchronous by ....

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for c. In Proc. of the 8th International Workshop on Languages and Compilers for Parallel Computing. Springer-Verlag, 1995.


Pointer Analysis: Haven't We Solved This Problem Yet? - Hind (2001)   (26 citations)  (Correct)

....is the incorporation of client analysis information into procedure level pointer alias summaries [81] Clientdriven pointer analyses may also be able to selectively apply more aggressive approaches to obtaining precision, such as those of [68] 4. 6 Heap Modeling Shape analysis algorithms [53, 43, 9, 19, 36, 35, 18, 74, 28, 29, 87, 88, 89, 103, 21, 54] have demonstrated high precision, over schemes that name objects based on allocation site (as in [47, 44, 83, 43, 9] but their scalability to even medium programs is uncertain. Mooly Sagiv summarizes the current state of the eld: Although I believe we are making good progress, in all honesty, ....

....analysis can be used to ensure that non local code is not modifying the heap structure being traversed. A similar approach was expressed by Laurie Hendren s group in analyzing C [22] This approach rst distinguishes stack and heap directed pointers and then performs a simple shape analysis [28, 29] on just the heap directed pointers. An alternative line of research attempts to compensate for the loss of precision experienced by the allocation site naming scheme in the presence of user de ned memory allocation routines [13, 1, 34] 4.7 Modeling Aggregates A key implementation detail is ....

[Article contains additional citation context not shown here]

R. Ghiya and L. J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547-578, 1996.


Data Structure Analysis: An Efficient Context-Sensitive Heap.. - Lattner, Adve   (Correct)

....times, but MoPPA seems to require much higher memory than our algorithm for larger programs: MoPPA runs out of memory analyzing povray3 with field sensitivity on a machine with 640M of memory. Both the FICS algorithm of Liang and Harrold [16] and the Connection Analysis of Ghiya and Hendren [9] attempt to disambiguate pointers referring to disjoint data structures. But both ignore heap locations not relevant for alias analysis, and both algorithms have higher complexity. Cheng and Hwu [3] describe a flow insensitive, context sensitive algorithm for alias analysis, which has two ....

R. Ghiya and L. J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547-- 578, 1996.


Automating Selective Dynamic Compilation - Mock (2002)   (Correct)

....present the target object descriptor data structure, which is used in address matching, and then discuss the instrumentation and run time actions that are performed for global, static, and local variables, and for data structures allocated on the heap. In addition, Ghiya Hendren s algorithm [GH96] can be run for pointers to heap based data structures, after one of the previously mentioned points to algorithms has been run. 41 Target Object Descriptors To match run time addresses with compile time names, Tumi creates a target object descriptor (TOD) for each object in the static ....

....(when they are practical) may not be significantly better than what is achievable with the OLF algorithm. In addition to the flow and context insensitive algorithms, I also implemented one contextsensitive algorithm designed to potentially disambiguate accesses to heap allocated data structures [GH96] However, for the benchmarks used in this thesis, this algorithm did not lead to higher precision, so it was not used in Calpa s evaluation. For a different set of benchmarks, particularly for numeric programs with many heap allocated matrices, it may be worthwhile to revisit this algorithm. ....

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547--578, December 1996.


Role Analysis - Kuncak, Lam, Rinard (2002)   (20 citations)  (Correct)

....by caching generated contexts and using a xpoint computation inside strongly connected components of the call graph. Our analysis tracks much more detailed information about the heap and uses procedure e ects to achieve compositionality at the level of procedures. The path matrix approaches [16, 15] have been used to implement ecient interprocedural analyses that infer one level of referencing relationships, but are not suciently precise to track must aliases of heap objects for programs with destructive updates of more complex data structures. The ADDS and ASAP languages allow programmers ....

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. In Proceedings of the 8th Workshop on Languages and Compilers for Parallel Computing, 1995.


Designing an Algorithm for Role Analysis - Kuncak (2001)   (Correct)

....analysis. Like shape analysis techniques [12, 36, 77, 78] we have adopted a constraint based approach for describing the heap. The constraint based approach allows us to handle a wider range of data structures while potentially giving up some precision. The path matrix approaches [37, 36] have been used to implement ecient interprocedural analyses that infer one level of referencing relationships, but are not suciently precise to track must aliases of heap objects for programs with destructive updates of more complex data structures. The ADDS data structure description language ....

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. In Proceedings of the 8th Workshop on Languages and Compilers for Parallel Computing, 1995.


A Schema for Interprocedural Modification.. - Ryder, Landi.. (2001)   (3 citations)  (Correct)

....by following links in a recursive data structure, only maintaining the first k dereferences, a process known as k limiting. Others have suggested less naive ways of restricting the namespace while obtaining more accurate aliases of heap stored objects [CWZ90, Deu94, HPR89, LH88, HN90, HHN92, GH96a, GH96b, SRW98] One di#culty with k limiting is that it loses information about the su#x of an object name. With 2 limiting, the alias #p f g h, x# is represented by #p f g#, x#. However this klimited object name also represents a set of object names, e.g. p f g h i for all i that ....

.... is analyzed separately [HN90, EGH94] optimizations to reduce computation by reusing the results for similar calling contexts were suggested by Emami [Ema93] and have been subsequently developed by Wilson and Lam [WL95] for points to analysis and Ghiya and Hendren for connection analysis [GH96a] Empirical data seems to suggest that such optimizations can dramatically reduce the number of contexts actually analyzed. Jones and Muchnick [JM82b] describe the use of an abstraction of the calling context at a dynamic creation site for a variable; the precision of this abstraction plus the ....

[Article contains additional citation context not shown here]

R. Ghiya and L. Hendren. Connection analysis: A practical interprocedural heap analysis for c. International Journal of Parallel Programming, 1996. 75


A Step Toward Automatic Distribution Of Java Programs - Attali, Caromel, Guider (2000)   (2 citations)  (Correct)

....for various languages. Among others, Hendren and Nicolau [26] parallelize C programs with dynamically allocated objects (with the limitation of no cyclic structures) This work has been pursued by Hendren [25] and gave rise to multiple analyses of dynamically allocated structures and pointers [22, 17, 21] that are the basis of a checking algorithm for Bernstein s conditions. Other authors [24, 28] have also investigated the use of shape analysis for the detection of parallelism. These works dioeer from ours for two main reasons: the parallelization happens at the procedure level, not at the object ....

R. Ghiya and L. J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. Lecture Notes in Computer Science, 1033, 1996.


Calpa: A Tool for Automating Selective Dynamic Compilation - Mock, Chambers, Eggers (2000)   (14 citations)  (Correct)

....heap allocated data is handled by creating one distinct variable for each allocation site. In lieu of Das algorithm the standard Steensgaard algorithm, or an extension proposed by Shapiro Horwitz [31] can also be chosen for stack allocated variables. In addition, Ghiya Hendren s algorithm [7] can be run for pointers to heap based data structures, after one of the previously mentioned points to algorithms has been run. structure that is defined or used; second, it identifies potential invalidation points of variables and data structures, so that the instrumenter can insert code to ....

R. Ghiya and L.J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547--578, December 1996.


Relevant Context Inference - Chatterjee, Ryder, al. (1999)   (28 citations)  (Correct)

....effect of method execution by bottom up inference of the relevant conditions on the unknown initial values. These conditions capture only the relevant contexts for a method, making this approach feasible, although the summary function can be used in any context. Previous techniques [LR92, Ema93, Ghi96, WL95] have incorporated memoization of the data flow solution associated with a particular calling context (or set of contexts) In our approach, method bodies are analyzed first separately from calling context information. The effects of a method on points to analysis information is ....

Rakesh Ghiya. Connection analysis: A practical interprocedural heap analysis for c. International Journal of Parallel Programming, 24(6):547--578, 1996.


An Automatic Object Inlining Optimization and its Evaluation - Dolby, Chien (2000)   (16 citations)  (Correct)

....[24] are examples of this phenomenon. Such overheads have been addressed before: allocations by sophisticated memory management [4, 21] and by storage analyses [7, 42] and dereferences by prefetching [33] and by redundant load and store elimination [18] which uses sophisticated alias analyses [23, 17]. We are exploring the problem of increased object indirection by developing automatic object inlining optimizations. These techniques preserve the programming model s modularity and semantics while automatically transforming the programs data structures into a more ecient implementation. Object ....

R. Ghiya and L. J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. In Proceedings of the Workshop for Languages and Compilers for Parallel Computing, 1995.


Optimizing High Performance Software Libraries - Guyer, Lin (2000)   (2 citations)  (Correct)

....greatly improve analysis results [36] 3.2.3 Heap Model The heap model determines the granularity and naming of heap allocated memory. Previous work demonstrates a range of possibilities including (1) one object to represent the whole heap [16] 2) one object for each connected data structure [19], 3) one object for each allocation call site [9] and (4) multiple objects for a malloc call site, with a fixed limit ( Klimiting ) 11] In the matrix split example above, we need a model of the heap that distinguishes the views from the data. Thus, neither of the first two approaches is ....

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547--578, December 1996.


Interprocedural Pointer Alias Analysis - Burke, Carini, Choi (1997)   (3 citations)  (Correct)

....includes dynamically allocated recursive data structures, pointer assignments, structured control flow, and procedure calls, they develop the data flow analysis for generating path matrices for binary trees and DAGs. The method can be generalized to apply to any recursive, structured data type. Ghiya and Hendren [1995] provide a context sensitive connection analysis that can determine if two stack pointers can reach a common heap element. In [Ghiya and Hendren 1996] the same authors describe a context sensitive shape analysis, which estimates the shape of data structures accessible from a stack pointer as one ....

Ghiya, R. and Hendren, L. J. 1995. Connection analysis: A practical interprocedural heap analysis for C. In Proceedings of the Eighth Workshop on Languages and Compilers for Parallel Computing.


Extended SSA Numbering: Introducing SSA properties to.. - Lapkowski, Hendren (1996)   (5 citations)  Self-citation (Hendren)   (Correct)

....the other hand a benchmark like puzzle produced the most benefit at run time even though there was only one place in the program were we could apply the transformation. 5. 6 Improving Heap Dependence Tests The McCAT compiler supports a wide variety of heap analyses, including connection analysis[GH96, Ghi96] Connection analysis determines, for each program point, which heap directed pointers can point to the same data structure. In order to Statement S dominates statement T if and only if S is in every execution path from the START to T Name Description vlsi VLSI chip testing problem ....

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. Intl. J. of Parallel Programming, 24(6):547--578, 1996.


Research Portfolio (External) - Hendren   Self-citation (Hendren)   (Correct)

....In points to analysis, as outlined in the previous section, we considered the heap to be one name location. For programs with little or no heap allocation, this is enough. However, for programs with considerable heap allocation, we have designed two further heap analyses called connection analysis[GH96a] and shape analysis[GH96b] Connection analysis is designed for programs that allocate large disconnected objects in the heap. If two heap directed pointers p and q are not connected at a program point S, then there is no path from p and q such that a common heap location can be accessed. If the ....

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547-578, Dec. 1996.


Extended SSA Numbering: Introducing SSA Properties to.. - Lapkowski, Hendren (1996)   (5 citations)  Self-citation (Hendren)   (Correct)

....indirect reference reduction transformation. the most benefit at run time even though there was only one place in the program were we could apply the transformation. 5. 6 Improving Heap Dependence Tests The McCAT compiler supports a wide variety of heap analyses, including connection analysis[GH96, Ghi96] Connection analysis determines, for each program point, which heap directed pointers can point to the same data structure. In order to make connection analysis useful for dependence testing one must introduce the idea of anchor handles, or symbolic pointers that capture the value of a ....

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. Intl. J. of Parallel Programming, 24(6):547--578, 1996.


A Decidable Logic - For Describing Linked   (Correct)

No context found.

R. Ghiya and L.J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. In Proc. of the 8th Intl. Work. on Languages and Compilers for Parallel Computing, number 1033 in Lecture Notes in Computer Science, pages 515--534, Columbus, Ohio, August 1995. Springer-Verlag.


An Overview of the Jahob Analysis System - Project Goals and.. - Kuncak, Rinard   (Correct)

No context found.

R. Ghiya and L. J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. In Proc. 8th Workshop on Languages and Compilers for Parallel Computing, 1995.


Connectivity-Based Garbage Collection - Hirzel (2004)   (2 citations)  (Correct)

No context found.

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: a practical interprocedural heap analysis for C. International Journal of Parallel Programming (IJPP), 1996.


Slicing Concurrent Java Programs: Issues and Solutions - Nanda (2001)   (Correct)

No context found.

R. Ghiya and J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547{ 578, 1996.


Data Structure Analysis: A Fast and Scalable Context-Sensitive .. - Lattner, Adve (2003)   (1 citation)  (Correct)

No context found.

R. Ghiya and L. J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547--578, 1996.


Spatial Computation - Budiu (2003)   (Correct)

No context found.

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24 (6):547--578, 1996.


Error Checking with Client-Driven Pointer Analysis - Guyer, Lin (2003)   (Correct)

No context found.

R. Ghiya and L. J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547--578, December 1996.


Data Structure Analysis: A Fast and Scalable Context-Sensitive .. - Lattner, Adve (2003)   (1 citation)  (Correct)

No context found.

R. Ghiya and L. J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547--578, 1996.


Optimizing the Use of High Performance Software Libraries - Guyer, Lin (2000)   (6 citations)  (Correct)

No context found.

Rakesh Ghiya and Laurie J. Hendren. Connection analysis: A practical interprocedural heap analysis for C. International Journal of Parallel Programming, 24(6):547--578, December 1996.

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