Automated boundary detection for LLVM's intermediate representation (LLVM IR).
Please update all Git submodules and install the pre-requisite packages (along with a copy of custom-compiled LLVM)
$ git submodule update --init --recursive
$ ./install.sh
$ ./build-llvm.sh
Build SLASH using ./build.sh
OR On any non *nix env,
- use the
Dockerfile
docker build -t SLASH .
docker run --rm SLASH
- use the
Vagrantfile
provided. This will install a VM with all dependencies and pre-requisities.
vagrant up
vagrant ssh-config
vagrant ssh
The programs's LLVM intermediate representation (LLVM IR) are provided in external/slash-dataset
.
Use $ ./detect-neck.sh external/slash-dataset/wc.ll
to run the SLASH tool on the external/slash-dataset/wc.ll
LLVM IR file.
We have some tests defined in test
and unittests
$ cd build
$ ctest OR ninja test