Flow-sensitive type qualifiers
Proceedings of the ACM SIGPLAN 2002 Conference on Programming language …, 2002•dl.acm.org
We present a system for extending standard type systems with flow-sensitive type qualifiers.
Users annotate their programs with type qualifiers, and inference checks that the
annotations are correct. In our system only the type qualifiers are modeled flow-sensitively---
the underlying standard types are unchanged, which allows us to obtain an efficient
constraint-based inference algorithm that integrates flow-insensitive alias analysis, effect
inference, and ideas from linear type systems to support strong updates. We demonstrate …
Users annotate their programs with type qualifiers, and inference checks that the
annotations are correct. In our system only the type qualifiers are modeled flow-sensitively---
the underlying standard types are unchanged, which allows us to obtain an efficient
constraint-based inference algorithm that integrates flow-insensitive alias analysis, effect
inference, and ideas from linear type systems to support strong updates. We demonstrate …
We present a system for extending standard type systems with flow-sensitive type qualifiers. Users annotate their programs with type qualifiers, and inference checks that the annotations are correct. In our system only the type qualifiers are modeled flow-sensitively---the underlying standard types are unchanged, which allows us to obtain an efficient constraint-based inference algorithm that integrates flow-insensitive alias analysis, effect inference, and ideas from linear type systems to support strong updates. We demonstrate the usefulness of flow-sensitive type qualifiers by finding a number of new locking bugs in the Linux kernel.