Abstract. A conservative garbage collector can typically be used with conventionally compiled programs written in C or C++. But two safety issues must be considered. First, the source code must not hide pointers from the garbage collector. This primarily requires stricter adherence to existing restrictions in the language definition. Second, we must ensure that the compiler will not perform transformations that invalidate this requirement. We argue that the same technique can be used to address both issues. We present an algorithm for annotating source or intermediate code to either check the validity of pointer arithmetic in the source, or to guarantee that under minimal, clearly defined assumptions about the compiler, the optimizer cannot...
We study the applicability of pointer analysis algorithms (originally aimed at optimizing compilers)...
Pointer analysis has recently been a subject of active research. The focus of most techniques is on:...
Owing to the continued use of C (and C++), spatial safety violations (e.g., buffer overflows) still ...
Abstract. Many high-level language compilers generate C code and then invoke a C compiler to do code...
Garbage collection algorithms rely on invariants to permit the identification of pointers and to cor...
Conservative garbage collectors are designed to operate in environments that do not provide sufficie...
We consider the problem of supporting compacting garbage collection in the presence of modern compil...
Journal ArticleMagpie is a source-to-source transformation for C programs that enables precise garba...
Many powerful code optimization techniques rely on accurate information connecting the definitions a...
The serious bugs and security vulnerabilities that result from C\u27s lack of bounds checking and un...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/19...
collectioninthepresenceof moderncompileroptimizations. Sinceour colleetormay move any heapobject, it...
In this paper we present the design and implementation of a conservative garbage collection algorith...
C’s unsafe language features such as pointer arithmetic, type casts, and explicit memory management ...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
We study the applicability of pointer analysis algorithms (originally aimed at optimizing compilers)...
Pointer analysis has recently been a subject of active research. The focus of most techniques is on:...
Owing to the continued use of C (and C++), spatial safety violations (e.g., buffer overflows) still ...
Abstract. Many high-level language compilers generate C code and then invoke a C compiler to do code...
Garbage collection algorithms rely on invariants to permit the identification of pointers and to cor...
Conservative garbage collectors are designed to operate in environments that do not provide sufficie...
We consider the problem of supporting compacting garbage collection in the presence of modern compil...
Journal ArticleMagpie is a source-to-source transformation for C programs that enables precise garba...
Many powerful code optimization techniques rely on accurate information connecting the definitions a...
The serious bugs and security vulnerabilities that result from C\u27s lack of bounds checking and un...
This work was also published as a Rice University thesis/dissertation: http://hdl.handle.net/1911/19...
collectioninthepresenceof moderncompileroptimizations. Sinceour colleetormay move any heapobject, it...
In this paper we present the design and implementation of a conservative garbage collection algorith...
C’s unsafe language features such as pointer arithmetic, type casts, and explicit memory management ...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
We study the applicability of pointer analysis algorithms (originally aimed at optimizing compilers)...
Pointer analysis has recently been a subject of active research. The focus of most techniques is on:...
Owing to the continued use of C (and C++), spatial safety violations (e.g., buffer overflows) still ...