Artifact for paper "Compiling with abstract interpretation"
Description
Software artifact for the paper Compiling with abstract interpretation at PLDI 2024. This is the second version of this artifact, which fixes a number of issues mentioned by the reviewers. The original version is at https://zenodo.org/records/10808361.
The artifact centers around two abstract interpreters, both written in OCaml. It contains both of their source codes, documentation, and a docker image where they are pre-built (for a linux x86/amd64 machine, I don't know if the image will work on other architectures). It also contains instructions on how to compile locally, and how to rebuild the docker image from the sources.
Hardware requirements: To run properly, the artifact needs at least 10 GiB of RAM and 10 GiB of free disk space. Systems with less RAM will only be able to run on the smaller examples.
Ideal system requirements: A good CPU with at least 4 cores and ~64 GIB of RAM. This will speed up the process, as it allows to run the analysis in parallel, saving time from ~50 min to ~10 minutes with 5 thread on 64 GiB of RAM (on CPU: 13th Gen Intel i7-13800H (20) @ 5.000GHz).
Software requirements: docker (although source and instructions are provided if you want to install the artifact directly on a ubuntu/debian system, using docker is simpler and safer).
Recommended software: while not required, having these can help evaluations:
- A terminal that support ANSI colors and unicode characters, ideally wider than 130 columns
- A spreadsheet software like Libreoffice Calc to view the generated CSV tables properly
- A graphviz viewer like dotty or this web viewer
Required background: This artifact assumes familiarity with the linux command line (specifically debian's). Knowledge of OCaml isn't required for basic evaluation but will help if you wish to dive deeper into our code.
For an in-depth description, see the included README.md
Files
README.md
Additional details
Related works
- Has part
- Software: https://github.com/codex-semantics-library/codex (URL)
Software
- Programming language
- OCaml
- Development Status
- Concept