TACO is a tool that translates a Java program annotated with JML specifications into a DynAlloy model. Properties described by the JML annotations can then be verified using a SAT Solver.
As for the moment, TACO requires Java 7 and Apache Ant 1.9.16.
Tip
Apache Ant 1.9 can also be installed using Homebrew. Ensure that Ant 1.9 is linked before executing ./setupTACO.sh
.
TACO depends on jdynalloy and muJava++. These dependencies and their dependencies are all downloaded by the provided script setupTACO.sh
.
Download this repository and execute ./setupTACO.sh
^. This script will download the following repositories:
- This one if this script was downloaded elsewhere or it can't find TACO's
build.xml
file. - JDynAlloy.
- dynalloy4 (a dependency for JDynAlloy).
- muJava++^^ (only if the script is run with the
full
argument). - OJ (a dependency of muJava++, only if the script is run with the
full
argument).
After downloading all repositories, the script will compile dynalloy4, use the compiled jar file to compile JDynAlloy, and it will copy both compiled jars into TACO's lib
folder.
(^) You may need to give the script execution permissions via executing chmod +x setupTACO.sh
.
(^^) TACO already has a mujava++.jar
included, unless needed there is no need to download muJava++ and OJ.
As a result of an issue with Eclipse, versions 4.20+ will not support TACO
Create a new project from existing files, select Java 7 for both compilation and execution, and all jar files inside the lib
folder (disregard jar files inside lib/stryker
folder).
Follow the same instructions as for Eclipse. Set the tests
folder as a Source
folder.
For the moment TACO works by using tests (JUnit tests). Several examples of these can be found in the unittest
source folder.
In the near future, a usable terminal option will be developed.