Skip to content

mffrias/TACO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TACO

Translation of Annotated Code

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.

Requirements

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.

Installation

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.

Importing TACO into Eclipse

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).

Importing TACO into IntelliJ

Follow the same instructions as for Eclipse. Set the tests folder as a Source folder.

Running TACO

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.

About

Repository for the TACO (Translation of Annotated Code) tool.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages