TACAS 2026 Artifact Evaluation VM - Ubuntu 25.04
Authors/Creators
Description
This is a virtual machine (VM) with a GNU/Linux installation to be used for evaluation of artifacts accompanying papers at computer science conferences or journals. It is based on Ubuntu 25.04 with support for the following programming languages:
- General support via packages
build-essential, git, curl - C++ via
cmake, clang - Mono via
mono-complete - Java via
default-jdk - Python via
python3-full, python3-pip - Ruby via
ruby - Rust via manual installation
Moreover, VirtualBox guest additions are installed on the VM, it is therefore possible to easily connect a shared folder from a host computer running VirtualBox. The login and password of the default user are: “tacas” / “tacas”.
VM images for both host architectures Intel/AMD 64bit and ARM 64 bit are provided.
The VM is intended to be used with artifacts that are self-contained, i.e., they contain the presented software, plus all necessary dependencies. That way, artifacts can be evaluated without an Internet connection and are reproducible even after several years when some web pages have been taken down.
This text and VM setup are heavily based on the previous VMs created for the TACAS artifact evaluations:
- Grigory Fedyukovich, & Sergio Mover. (2022) TACAS 23 Artifact Evaluation VM - Ubuntu 22.04 LTS
- Swen Jacobs, & Andrew Reynolds. (2021) TACAS 22 Artifact Evaluation VM - Ubuntu 20.04 LTS.
- Sebastian Hjort Hyberts, Peter Gjøl Jensen, & Thomas Neele. (2020). TACAS 21 Artifact Evaluation VM - Ubuntu 20.04 LTS.
- Ondřej Lengál: Artifact Evaluation VM - Ubuntu 18.04 LTS.
- Ernst Moritz Hahn, & Ondřej Lengál (2019): TACAS 2019 Artifact Evaluation VM
- Arnd Hartmanns, & Philipp Wendler (2018): TACAS 2018 Artifact Evaluation VM
When preparing an artifact for this VM, the dependencies should be also provided. You can include the required Debian packages (.deb files) in the artifact archive and ask the user to install them using, e.g.,
$ sudo dpkg -i <file>
In order to find out and download all the dependencies of some package, you can, taken the octave package as an example, run the following code:
$ mkdir packages
$ cd packages
$ sudo apt-get update
$ apt-get --print-uris install octave | grep -oP "(?<=').*(?=')" > octave.deps
$ for i in $(cat octave.deps) ; do wget -nv $i ; done
and then ask the user to install them using
$ cd packages
$ sudo dpkg -i *.deb
For Python, you can, e.g., use pip3 to download the packages. For instance, to download the bitarray package, you can run
$ pip3 download bitarray
The downloaded package can then be installed using
$ pip3 install bitarray-...tar.gz
Files
Files
(14.5 GB)
| Name | Size | Download all |
|---|---|---|
|
md5:23bb90072de2e446dfa9d65111e375e6
|
7.1 GB | Download |
|
md5:37c5cd774794865574fc155db855fb4e
|
7.4 GB | Download |