Linear type systems allow destructive operations such as object deallocation and imperative updates of functional data structures. These operations and others, such as the ability to reuse memory at different types, are essential in low-level typed languages. However, traditional linear type systems are too restrictive for use in low-level code where it is necessary to exploit pointer aliasing. We present a new typed language that allows functions to specify the shape of the store that they expect and to track the flow of pointers through a computation. Our type system is expressive enough to represent pointer aliasing and yet safely permit destructive operations
Typed intermediate languages and typed assembly languages for optimiz-ing compilers require types to...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
This paper evaluates three alias analyses based on program-ming language types. The first analysis u...
Linear type systems permit programmers to deallocate or explicitly recycle memory, but they are seve...
Linear type systems permit programmers to deallocate or explicitly recycle memory, but are severely ...
. Object-oriented systems are typically structured as complex networks of interacting mutable object...
A type system with linearity is useful for checking software protocols and resource management at co...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
This paper evaluates three alias analyses based on programming language types. The first analysis us...
Object-oriented systems are typically structured as complex networks of interacting mutable objects....
We present an imperative object calculus where types are annotated with two modifiers for aliasing c...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
High-performance architectures rely upon powerful optimizing and parallelizing compilers to maximize...
This paper evaluates three alias analyses based on programming language types. The first analysis us...
Linear references are guaranteed to be free from aliases. This is a strong property that simplifies ...
Typed intermediate languages and typed assembly languages for optimiz-ing compilers require types to...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
This paper evaluates three alias analyses based on program-ming language types. The first analysis u...
Linear type systems permit programmers to deallocate or explicitly recycle memory, but they are seve...
Linear type systems permit programmers to deallocate or explicitly recycle memory, but are severely ...
. Object-oriented systems are typically structured as complex networks of interacting mutable object...
A type system with linearity is useful for checking software protocols and resource management at co...
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct l...
This paper evaluates three alias analyses based on programming language types. The first analysis us...
Object-oriented systems are typically structured as complex networks of interacting mutable objects....
We present an imperative object calculus where types are annotated with two modifiers for aliasing c...
Static analysis of programs in weakly typed languages such as C and C++ is generally not sound becau...
High-performance architectures rely upon powerful optimizing and parallelizing compilers to maximize...
This paper evaluates three alias analyses based on programming language types. The first analysis us...
Linear references are guaranteed to be free from aliases. This is a strong property that simplifies ...
Typed intermediate languages and typed assembly languages for optimiz-ing compilers require types to...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
This paper evaluates three alias analyses based on program-ming language types. The first analysis u...