COAL: Installation and Usage

Before you can use the COAL solver, you should make sure that you have a Java Runtime Environment version 7 or later installed. To install COAL, download and extract the executable archive. For information about the COAL language, please refer to the tutorial and to the language documentation.

The COAL solver can be launched using:

% java [JVM options] -jar <path to COAL Jar> -model <path to model files> \
-input <path of files to be analyzed (root directory or Jar)> -classpath <classpath> \

The COAL solver outputs the values of the modeled objects in the input code. The -input and -classpath classes have a different role: the input classes are the ones that are traversed by the analysis. The classpath classes are support classes that may be referenced by the input classes, but that need not necessarily be analyzed. By default, modeled classes are not traversed by the analysis. You may wish to have the constants propagate through these classes, in which case you should use the -traversemodeled option. This can be useful if for example modeled classes have interesting side effects.

You may have to specify a larger heap size for medium to large applications. In order to do so, you need to replace [JVM options] with -Xmx4g (for a 4GB heap).

For any questions or issues with the COAL solver, please file an issue at the issue tracker for the COAL solver.