Software Open Access

TACAS 21 Artifact Evaluation VM - Ubuntu 20.04 LTS

Sebastian Hjort Hyberts; Peter Gjøl Jensen; Thomas Neele

MARC21 XML Export

<?xml version='1.0' encoding='UTF-8'?>
<record xmlns="">
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">Virtual Machine</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">Artifact Evaluation</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">Ubuntu</subfield>
  <datafield tag="653" ind1=" " ind2=" ">
    <subfield code="a">TACAS</subfield>
  <controlfield tag="005">20200925002651.0</controlfield>
  <controlfield tag="001">4041464</controlfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Aalborg University</subfield>
    <subfield code="0">(orcid)0000-0002-9320-9991</subfield>
    <subfield code="a">Peter Gjøl Jensen</subfield>
  <datafield tag="700" ind1=" " ind2=" ">
    <subfield code="u">Royal Holloway</subfield>
    <subfield code="a">Thomas Neele</subfield>
  <datafield tag="856" ind1="4" ind2=" ">
    <subfield code="s">3647395328</subfield>
    <subfield code="z">md5:69a669e532c77eccb637a7b8c93988a4</subfield>
    <subfield code="u"> 21.ova</subfield>
  <datafield tag="542" ind1=" " ind2=" ">
    <subfield code="l">open</subfield>
  <datafield tag="260" ind1=" " ind2=" ">
    <subfield code="c">2020-09-21</subfield>
  <datafield tag="909" ind1="C" ind2="O">
    <subfield code="p">software</subfield>
    <subfield code="o"></subfield>
  <datafield tag="100" ind1=" " ind2=" ">
    <subfield code="u">Aalborg University</subfield>
    <subfield code="a">Sebastian Hjort Hyberts</subfield>
  <datafield tag="245" ind1=" " ind2=" ">
    <subfield code="a">TACAS 21 Artifact Evaluation VM - Ubuntu 20.04 LTS</subfield>
  <datafield tag="540" ind1=" " ind2=" ">
    <subfield code="u"></subfield>
    <subfield code="a">Creative Commons Attribution 4.0 International</subfield>
  <datafield tag="650" ind1="1" ind2="7">
    <subfield code="a">cc-by</subfield>
    <subfield code="2"></subfield>
  <datafield tag="520" ind1=" " ind2=" ">
    <subfield code="a">&lt;p&gt;This is a virtual machine (VM) with a GNU/Linux&amp;nbsp;installation to be used for evaluation of artifacts accompanying papers at computer science conferences or journals. It is based on Ubuntu 20.04 with&amp;nbsp;the following additional packages installed: build-essential, cmake, clang, mono-complete, openjdk-8-jdk, python3.8, pip3, ruby, and a 32-bit libc. 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&amp;nbsp;login and&amp;nbsp;password of the default user are: &amp;ldquo;tacas21&amp;rdquo; / &amp;ldquo;tacas21&amp;rdquo;.&lt;/p&gt;

&lt;p&gt;The VM is intended to be used with artifacts that are self-contained, i.e., they contain the presented software, plus all necessary dependencies, so that they can be evaluated without an Internet connection (to protect the anonymity of the reviewers and also to be reproducible even after several years when some web pages have been taken down).&lt;/p&gt;

&lt;p&gt;This text and VM setup is heavily based on &lt;a href=""&gt;Leng&amp;aacute;l, Ondřej: Artifact Evaluation VM - Ubuntu 18.04 LTS&lt;/a&gt; which is based on &lt;a href=""&gt;Hahn, Ernst Moritz; Leng&amp;aacute;l, Ondřej (2019): TACAS 2019 Artifact Evaluation VM. figshare. Software.&lt;/a&gt; and &lt;a href=""&gt;Hartmanns, Arnd; Wendler, Philipp (2018): TACAS 2018 Artifact Evaluation VM. figshare. Software.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;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.,&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-bash"&gt;$ sudo dpkg -i &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In order to find out and download all the dependencies of some package, you can, taken the &lt;strong&gt;octave&lt;/strong&gt;&amp;nbsp;package as an example, run the following code:&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-bash"&gt;$ mkdir packages
$ cd packages
$ sudo apt-get update
$ apt-get --print-uris install octave | grep -oP "(?&amp;lt;=').*(?=')" &amp;gt; octave.deps
$ for i in $(cat octave.deps) ; do wget -nv $i ; done&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;and then ask the user to install them using&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-bash"&gt;$ cd packages
$ sudo dpkg -i *.deb&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;For Python, you can, e.g., use &lt;strong&gt;pip3&lt;/strong&gt; to download the packages. For instance, to download the &lt;strong&gt;bitarray&lt;/strong&gt; package, you can run (we assume you already have &lt;strong&gt;pip3&lt;/strong&gt; installed)&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-bash"&gt;$ pip3 download bitarray&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The downloaded package can then be installed using&lt;/p&gt;

&lt;pre&gt;&lt;code class="language-bash"&gt;$ pip3 install bitarray-1.5.3.tar.gz &lt;/code&gt;&lt;/pre&gt;</subfield>
  <datafield tag="773" ind1=" " ind2=" ">
    <subfield code="n">doi</subfield>
    <subfield code="i">isVersionOf</subfield>
    <subfield code="a">10.5281/zenodo.4041463</subfield>
  <datafield tag="024" ind1=" " ind2=" ">
    <subfield code="a">10.5281/zenodo.4041464</subfield>
    <subfield code="2">doi</subfield>
  <datafield tag="980" ind1=" " ind2=" ">
    <subfield code="a">software</subfield>
All versions This version
Views 930930
Downloads 483483
Data volume 1.8 TB1.8 TB
Unique views 823823
Unique downloads 395395


Cite as