• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Pointer Analysis for Multithreaded Programs (1999)

Cached

  • Download as a PDF
  •  
  • Download as a PS

Download Links

  • [www.cs.cornell.edu]
  • [www.cag.lcs.mit.edu]
  • [www.cag.lcs.mit.edu]
  • [www.cag.lcs.mit.edu]
  • [www.cag.lcs.mit.edu]
  • [www.cag.csail.mit.edu]
  • [www.cag.lcs.mit.edu]
  • [www.cag.csail.mit.edu]
  • [cag.csail.mit.edu]
  • [www.cag.lcs.mit.edu]
  • [www.cse.mrt.ac.lk]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Radu Rugina , Martin Rinard
Venue:ACM SIGPLAN 99
Citations:125 - 13 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Rugina99pointeranalysis,
    author = {Radu Rugina and Martin Rinard},
    title = {Pointer Analysis for Multithreaded Programs },
    year = {1999}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

This paper presents a novel interprocedural, flow-sensitive, and context-sensitive pointer analysis algorithm for multithreaded programs that may concurrently update shared pointers. For each pointer and each program point, the algorithm computes a conservative approximation of the memory locations to which that pointer may point. The algorithm correctly handles a full range of constructs in multithreaded programs, including recursive functions, function pointers, structures, arrays, nested structures and arrays, pointer arithmetic, casts between pointer variables of different types, heap and stack allocated memory, shared global variables, and thread-private global variables. We have implemented the algorithm in the SUIF compiler system and used the implementation to analyze a sizable set of multithreaded programs written in the Cilk multithreaded programming language. Our experimental results show that the analysis has good precision and converges quickly for our set of Cilk programs.

Citations

1635 Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints - Cousot, Cousot - 1977
477 Points-to analysis in almost linear time - Steensgaard - 1996
472 Program Analysis and Specialization for the C Programming Language - Andersen - 1994
375 Efficient ContextSensitive Pointer Analysis for C Programs - Wilson, Lam - 1995
360 Analysis of pointers and structures - CHASE, WEGMAN, et al. - 1990
359 ContextSensitive Interprocedural Points-to Analysis in the Presence of Function Pointers - Emami, Ghiya, et al. - 1994
334 Dependence Analysis for Supercomputing - Banerjee - 1988
332 Compiler transformation for high-performance computing - BACON, GRANHAM, et al. - 1994
312 A safe approximate algorithm for interprocedural aliasing - Landi, Ryder - 1992
297 Shared memory consistency models: A tutorial - Adve, Gharachorloo - 1996
285 A unified approach to global program optimization - Kildall - 1973
281 Solving shape-analysis problems in languages with destructive updating - Sagiv, Reps, et al. - 1998
273 Extended static checking - Detlefs, Leino, et al. - 1998
248 The implementation of the Cilk-5 multithreaded language - Frigo, Leiserson, et al. - 1998
247 The Java Memory Model - Manson, Pugh, et al. - 2005
243 A stubborn attack on state explosion - Valmari - 1992
241 Escape analysis for java - Choi, Gupta, et al. - 1999
221 Type-based race detection for java - Flanagan, Freund
221 Supernode partitioning - Irigoin, Triolet - 1988
211 Compositional pointer and escape analysis for java programs - Whaley, Rinard - 1999
209 Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects - Choi, Burke, et al. - 1993
196 An implementation of interprocedural bounded regular section analysis - Havlak, Kennedy - 1991
178 Is it a tree, a dag, or a cyclic graph? a shape analysis for heap-directed pointers in c - Ghiya, Hendren - 1996
176 A practical algorithm for exact array dependence analysis - Pugh - 1992
170 A parameterized type system for race-free Java programs - Boyapati, Rinard - 2001
156 Concurrent Programming in Java. Design principles and patterns. The Java Series - Lea - 1996
152 Detecting conflicts between structure accesses - Larus, Hilfinger - 1988
152 Smir: Efficient and Correct Execution of Parallel Programs that Share Memory - Shasha, M - 1988
143 Fast and accurate flow-insensitive pointsto analysis - Shapiro, Horwitz - 1997
135 Flow analysis for verifying properties of concurrent software systems - Dwyer, Clarke, et al. - 2004
121 Higher-order concurrency - Reppy - 1992
119 Global data flow analysis and iterative algorithms - Kam, Ullman - 1976
119 Context-insensitive alias analysis reconsidered - Ruf - 1995
118 Effective synchronization removal for Java - Ruf - 2000
116 Evaluating deadlock detection methods for concurrent software - Corbett - 1996
110 Removing unnecessary synchronization in Java - Bogda, Hölzle - 1999
106 Partial online cycle elimination in inclusion constraint graphs - Fähndrich, Foster, et al. - 1998
106 A partial approach to model checking - Godefroid, Wolper - 1994
104 Types for safe locking - Flanagan, Abadi - 1999
100 Symbolic bounds analysis for pointers, array indices, and accessed memory re - Rugina, Rinard
98 Lackwit: A program understanding tool based on type inference - O’Callahan, Jackson - 1997
97 Automatic program parallelization - Banerjee, Eigenmann, et al. - 1993
97 Why Threads Are A Bad Idea (for most purposes - Ousterhout - 1995
89 Escape Analysis for Object Oriented Languages. Application to Java(tm - Blanchet - 1999
87 The design and evaluation of a shared object system for distributed memory machines - Scales, Lam - 1994
85 Detecting coarse-grain parallelism using an interprocedural parallelizing compiler - Hall, Amarasinghe, et al. - 1995
85 Software Caching and Computation Migration in Olden - Carlisle, Rogers - 1995
84 Application-specific protocols for user-level shared memory - Falsafi, Lebeck, et al. - 1994
83 Abstractions for recursive pointer data structures: improving the analysis and transformation of imperative programs - Hendren, Hummell, et al. - 1992
79 Detecting access anomalies in programs with critical sections - Dinning, Schonberg - 1991
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University