Flow-Sensitive Type Qualifiers
Jeffrey S. Foster, Tachio Terauchi, and Alex Aiken
Programming Language Design and Implementation (PLDI'02), pages 1-12. Berlin, Germany. June 2002.

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.

[ pdf | ps.gz ]