JQual - Type qualifier inference for Java

Overview
Publications
Download
People
      

Overview

JQual is a general framework for performing type qualifier inference on Java programs. It allows the user to define a set of qualifiers, annotate types in a program with those qualifiers and infer the qualified types for all of the locations in the program. For example, it can be used to track suspect tainted values through a program and check that they are not used in sensitive untainted locations. Another application of JQual is to infer immutability properties readonly and final in a Java program. JQual produces warnings for locations that cannot be typed consistently with the given annotations and lists the set of constraints, i.e. the inference path, used to infer the inconsistency.

JQual operates on source code and can analyze Java versions 1.4 and earlier. It does not provide sound analysis of native calls or calls to classes for which source code is not available, although it is possible to create annotated stub versions of such code and include it in the analysis. Calls made via reflection are also not handled soundly.

Publications

Type Qualifier Inference for Java David Greenfieldboyce and Jeffrey S. Foster
to appear OOPSLA 2007

Type Qualifiers for Java David Greenfieldboyce and Jeffrey S. Foster
Technical Report, August 2007

Download

JQual is available as a plugin for Eclipse 3.2.

Download JQual: jqual_install.tar.gz

For installation instructions, uncompress the tar file and follow the directions in README. A basic user's guide is included in the distribution. JQual requires Eclipse 3.2, which is available here. JQual has been tested under OS/X 10.4 and Linux.

People


Last updated on 4/30/07
This page is maintained by David Greenfieldboyce