Enregistré dans:
Détails bibliographiques
Auteur principal: Britikov, Konstantin
Format: Recurso digital
Langue:anglais
Publié: Zenodo 2025
Accès en ligne:https://doi.org/10.5281/zenodo.16919602
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
Table des matières:
  • <p>## CHC-Based Reachability Analysis via Cycle Summarization Artifact</p> <p>This README describes an artifact for iFM2025. It contains an information on how to reproduce<br>and execute the evaluation of the artifact. It is structured as follows:<br>- `README.md` - instructions file you're currently reading<br>- `LICENSE` - license file of the artifact<br>- `licenses` - directory containing licenses of the tools used in the artifact (Eldarica, Loat, Z3).<br>- `ifm25arifact.ova` - Ubuntu 22.04 virtual machine that allows to reproduce the experementation. It can be executed with [VirtualBox](https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html). </p> <p>Experiments were executed on the machine with 8 processors and 16 GB of RAM.</p> <p><br>### Availability</p> <p>Artifact can be accessed with the following link:</p> <p><br>To access the virtual machine you should log with following credentials:<br>- Username: `ifm25`<br>- Password: `ifm25`</p> <p>## Smoke Test</p> <p>To reproduce the experiments we recommend first to execute Smoke tests on the virtual machine (takes up to 15 minutes). <br>To do it follow the next steps:<br>1. Open Terminal application in the left top corner.<br>2. Type in the terminal following command:<br>```bash<br>cd ~/Documents<br>```<br>3. Execute Smoke Test by executing the following command:<br>```bash<br>./run_smoke_test.sh<br>```<br>After the execution it should produce 5 different png images of plots in the `~/Documents` folder. <br>If it is the case, it means that smoke tests were succesfully executed.</p> <p><br>## Functionality</p> <p>Next step is to run the overall evaluation (can take up to 8 hours)<br>1. With Terminal open within `~/Documents` directory execute the evaluation:<br>```bash<br>./run_smoke_test.sh<br>```<br>After the execution it will produce 5 png images of plots in the `~/Documents` folder which compare<br>the execution time of CSRA with different tools and engines that corresppond to the plots in Fig.2 and Fig.3 of the paper.<br>To obtain more detailed information about the run you can access `~/Documents/artifact_files/experiments`, where `nested_<tool>.plot`<br>contains the detailed information about execution time of CSRA compared to a specific tool. <br>Directories `eldarica`, `z3_spacer`, `loat_abmc`, `golem_<engine>` contain execution logs for every single benchmark.</p> <p>## Reusability</p> <p>Artifact contains the full source code of the implementation and binary executable of the Golem with implemented CSRA approach.<br>It can be found in the `~/Documents/artifact_files/solvers/golem` directory. To reproduce the execution outside of the virtual machine<br>(or use tool on its own) it is possible to download and install golem from the [GitHub](github.com/usi-verification-and-security/golem).<br>Specifically, the `nested-loops` branch should be used.<br>Golem requires `CMake`, `gmp`, `bison` and `flex` to be installed, which can be installed using the following command:<br>```bash<br>apt install -y apt-utils make cmake build-essential libgmp-dev libedit-dev bison flex <br>```<br>And compiled using following set of commands from the golem root directory:<br>```bash<br>git checkout nested-loops<br>mkdir build<br>cd build<br>cmake ..<br>make -j4<br>```<br>Afterwards CSRA can be executed by calling<br>```bash<br>./golem --engine split-tpa <file><br>```<br>Experiments are also available via [GitHub](https://github.com/BritikovKI/nested-benchmarks).<br>Tool can be used for  reachability analysis of any LIA-lin, LRA-lin CHC problems (encoded in .smt2 format).</p>