TRATTO stands for "TRAnsformer-based Token-by-Token Oracle generation" and is an Italian word that means “line” or “way”. TRATTO generates oracles token by token, in a grammar-directed way, but supported by a neural module to guide the search of oracles toward optimal solutions.
oracle-grammar/is the folder containing the Xtext project for the grammar of the oracles generated by Jdoctor.ml-model/contains all code related to the ML part of this project. This may include different things, like a program for pretraining a transformer on English language and source code, a program for fine-tuning the model with the tokens dataset, a program for predicting an output label given an input, etc.tratto/contains the main implementation of the project, including: 1) the program for creating the oracles dataset; 2) the program for creating (transforming) the tokens dataset (from the oracles dataset); 3) the programs for augmenting the oracles dataset; and 4) the E2E program for generating oracles, generally referred to as TRATTO.
- JDK version: 17.
- Build tool: Maven.
- Conventions related to naming and versioning:
star.trattois the parent package.star.trattois also the name of the groupId used in Maven.trattois the name of the artifactId used in Maven.- The initial version of each artifact is
0.0.1-SNAPSHOT.