ATGT in the Graphical User Interface flavour has a SWING user interface with windows, dialogs, and so on. It supports several coverage criteria (structural, fault based and combinatorial) and two model checkers (Spin and SAL).


For ATGT and testing with ASMs, see my papers at ASM 2001, ASM 2003 and our article @ Journal Universal Computer Science:


ATGT is released under the EPL license. For details about EPL see here.


To download the jar file for ATGT, click here. To download all the examples click here


For installing and running ATGT, just execute the jar file. However, you will need some extra software.

1. (for Windows only) CYGWIN (optional)

If you plan to use ATGT in Windows (any), you have to install an unix-like environment. Install Cygwin, a powerful port of may Unix/Linux utilities and application to Windows. Install it from their instruction). Let CYGWINROOT be the directory where you install cygwin (normally c:\cygwin). You have to install at least basic libraries and gcc. To be honest, you really need for ATGT only a working c++ compiler, hence may be enough. Nevertheless, the tool is supposed to use gcc, and we suggest to install that.


You need Spin. Spin needs to be in your path, otherwise ATGT won’t find it.

2b. SAL model checker

Download it from

3. Java

You need the java runtime (java). Take it from We normally use jdk 6. If are using cygwin, you have to use the java for windows. Just be sure to put the directory where the java run time is, in your path.


You need the ATGT jar file. Download it and put it in a directory.

How to run ATGT_gui

Open a cygwin window (for Windows) or a shell (for Unix/linux), move to the directory where atgt.jar was saved.

Test that gcc, spin, and java are working: $gcc –version gcc (GCC) 4.7.3 Copyright (C) 2012 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

(or whatever version you have)(or something like that) Ok. gcc works.

  	 Spin Version 6.2.5 -- 3 May 2013
 spin: error, no filename specified

(or something like that) Ok spin works.

$java -version
java version ....

(or something like that) Ok java works.

Run the tool: $java -jar atgt.jar

How to view/modify ATGT preferences

You can use the dialog Preferences. Note that ATGT stores its preference using Java preferences APIs. In linux you find the ATGT preferences in the file: $HOME/.java/.userPrefs/atg/prefs.xml. In Windows preferences are stored in the registry.


The ATGT editor (click to enlarge):

The translation window:

The test window:

My sw links