Run typestate checker on Java code
To run the typestate checker from inside Eclipse, follow these 3 steps:
  1. Open launch configuration wizard
  2. Create a new typestate analysis launch configuration
  3. Run analysis launch configuration
Create new analysis launch configuration
You can access information related to the Input and Domain tabs from structural checker. Note that in Domain tab, in this scenario, you must have selected some typestate rules as shown below.
Two other tabs allow you to customize analysis for typestate rules selected: Entry points and Precision and environment.

Entry points

Typestate analysis is a whole-program analysis; it will start program analysis at some specific program points you can specify. For a simple Java program, the main() method represents the logical starting entrypoint.

Other projects natures provide other entrypoint options, as follows.

Precision and environment

Because the typestate checker can be potentially slow, options in this tab allow you to customize the way the checker performs its analysis to trade-off speed for precision.

Three options are provided:

  • Basic solver: The basic solver provides the fastest analysis for TypeState checker, but also the most imprecise. A significant number of false alarms (spurious warnings) might be reported.
  • Intermediate solver: The intermediate solver provides the best compromise between precision and speed.
  • Full feature solver: The full feature solver offers the most precise analysis, minimizing the number of false positives, at the expense of a slower analysis.

For a J2EE project, you can specify whether or not dependent jars that appear in project definition should be analyze. To do so, select the appropriate check box in the tab.

Privacy |  Legal |  Feedback |  IBM Home |  Research Home |  Project List |  Research Sites |  Contact Us