Flow-insensitive type qualifiers

49Citations
Citations of this article
33Readers
Mendeley users who have this article in their library.

Abstract

We describe flow-insensitive type qualifiers, a lightweight, practical mechanism for specifying and checking properties not captured by traditional type systems. We present a framework for adding new, user-specified type qualifiers to programming languages with static type systems, such as C and Java. In our system, programmers add a few type qualifier annotations to their program, and automatic type qualifier inference determines the remaining qualifiers and checks the annotations for consistency. We describe a tool CQual for adding type qualifiers to the C programming language. Our tool CQual includes a visualization component for displaying browsable inference results to the programmer. Finally, we present several experiments using our tool, including inferring const qualifiers, finding security vulnerabilities in several popular C programs, and checking initialization data usage in the Linux kernel. Our results suggest that inference and visualization make type qualifiers lightweight, that type qualifier inference scales to large programs, and that type qualifiers are applicable to a wide variety of problems. © 2006 ACM.

Cite

CITATION STYLE

APA

Foster, J. S., Johnson, R., Kodumal, J., & Aiken, A. (2006). Flow-insensitive type qualifiers. ACM Transactions on Programming Languages and Systems, 28(6), 1035–1087. https://doi.org/10.1145/1186632.1186635

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free