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.star.tratto
is the parent package.star.tratto
is also the name of the groupId used in Maven.tratto
is the name of the artifactId used in Maven.0.0.1-SNAPSHOT
.