Flow-sensitive type qualifiers

Jeffrey S. Foster, Tachio Terauchi, Alex Aiken

Research output: Chapter in Book/Report/Conference proceedingConference contribution

244 Citations (Scopus)

Abstract

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.

Original languageEnglish
Title of host publicationProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Pages1-12
Number of pages12
Publication statusPublished - 2002
Externally publishedYes
EventProceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI'02) - Berlin, Germany
Duration: 2002 Jun 172002 Jun 19

Other

OtherProceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI'02)
CountryGermany
CityBerlin
Period02/6/1702/6/19

    Fingerprint

Keywords

  • Alias analysis
  • Constraints
  • Effect inference
  • Flow-sensitivity
  • Linux kernel
  • Locking
  • Restrict
  • Type qualifiers
  • Types

ASJC Scopus subject areas

  • Software

Cite this

Foster, J. S., Terauchi, T., & Aiken, A. (2002). Flow-sensitive type qualifiers. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (pp. 1-12)