README file for artifact evaluation of ICSE'23 paper

"Triggers for Reactive Synthesis Specifications"

The artifact can be obtained from:

https://smlab.cs.tau.ac.il/syntech/triggers/

================

Introduction

================

Important note to start with: running scripts on folders with many files
may take much time (hours and days) to complete.

We recommend artifact evaluation by running the executable jar only on
the folder "Small" as input.

The folder "Small" contains a subset of realizable specifications with
triggers. At the time synthesis

allowed only much smaller and simpler specifications, which with current
advancements run very quickly.

-------------------------

Basic evaluation scenario

-------------------------

1. Follow installation instructions

2. Produce a file "Small_Synth.csv" that contains the running times of
the specifications

First, open a Windows console, and change the directory to
"TriggersArtifact". Then:

java -jar SpectraSynthesis.jar Small 1

See the reported running times.

All reported running times are in milliseconds.

===============================================

Specifications statistics

===============================================

1.  How to produce: Use the executable with the folder name of the
    folder to run on, and the number of runs for each specification. See
    how to use it in the section "Parameters of executable" below.

2.  The script file "PartialEvaluation" produces a subset of the results
    (for checking the correctness of the artifact, takes a short running
    time),

3.  The script file “FullEvaluation” produces the full performance
    results described in the paper (may take many hours to run)

Following is a description of the columns of the compiled files in the
folder:

Column A contains the filename of the specification.

Column B contains the realizability computation running time of the
specification.

Column C contains the synthesis running time for the JIT controller
synthesis time after the realizability computation time of the
specification.

Column D contains the size on the disk of the JIT controller in bytes.

=============================

Parameters of executable

=============================

Use command lines of the form java -jar SpectraSynthesis.jar FOLDER
[NUM]

FOLDER: folder name of a folder that contains Spectra specifications.

NUM: An optional positive integer number. It is the number of runs of
each specification.

For example, the line:

java –jar SpectraSynthesis.jar Small 3

runs each specification in folder Small three times, and outputs the raw
data into a CSV file with the name Small_Synth. The output file will
contain three different lines for each of the specifications in the
folder Small.
