We propose a novel notion of pointer race for concurrent programs manipulating a shared heap. A pointer race is an access to a memory address which was freed, and it is out of the accessors control whether or not the cell has been re-allocated. We establish two results. (1) Under the assumption of pointer race freedom, it is sound to verify a program running under explicit memory management as if it was running with garbage collection. (2) Even the requirement of pointer race freedom itself can be verified under the garbage-collected semantics. We then prove analogues of the theorems for a stronger notion of pointer race needed to cope with performance-critical code purposely using racy comparisons and even racy dereferences of pointers. As...
We present a trace semantics for a language of parallel programs which share access to mutable data....
Abstract. Concurrent programs are difficult to verify because the proof must consider the interactio...
Hardware trends have produced an increasing disparity between processor speeds and memory access tim...
We present a new pointer analysis for use in shared memory programs running on hierarchical parallel...
AbstractWe present a trace semantics for a language of parallel programs which share access to mutab...
Efficient and safe memory management is a hard problem. Garbage collection promises automatic memory...
Providing high performance for pointer-intensive programs on modern architectures is an increasingly...
AbstractWe present an efficient memory management scheme for concurrent programming languages where ...
This paper presentsanovel interprocedural, #ow-sensitive, and context-sensitive pointer analysis alg...
Multicore architectures are an increasingly important technique used to achieve increased performanc...
Pointer-use checking is an important technology for detecting pointer and array access errors in uns...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
Pointer analysis has recently been a subject of active research. The focus of most techniques is on:...
Traditional compiler optimizations such as loop invariant removal and common sub-expression eliminat...
This paper describes Automatic Pool Allocation, a transformation framework that segregates distinct ...
We present a trace semantics for a language of parallel programs which share access to mutable data....
Abstract. Concurrent programs are difficult to verify because the proof must consider the interactio...
Hardware trends have produced an increasing disparity between processor speeds and memory access tim...
We present a new pointer analysis for use in shared memory programs running on hierarchical parallel...
AbstractWe present a trace semantics for a language of parallel programs which share access to mutab...
Efficient and safe memory management is a hard problem. Garbage collection promises automatic memory...
Providing high performance for pointer-intensive programs on modern architectures is an increasingly...
AbstractWe present an efficient memory management scheme for concurrent programming languages where ...
This paper presentsanovel interprocedural, #ow-sensitive, and context-sensitive pointer analysis alg...
Multicore architectures are an increasingly important technique used to achieve increased performanc...
Pointer-use checking is an important technology for detecting pointer and array access errors in uns...
The most intuitive memory model for shared-memory multi-threaded programming is sequenti...
Pointer analysis has recently been a subject of active research. The focus of most techniques is on:...
Traditional compiler optimizations such as loop invariant removal and common sub-expression eliminat...
This paper describes Automatic Pool Allocation, a transformation framework that segregates distinct ...
We present a trace semantics for a language of parallel programs which share access to mutable data....
Abstract. Concurrent programs are difficult to verify because the proof must consider the interactio...
Hardware trends have produced an increasing disparity between processor speeds and memory access tim...