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
Vagrantfileprovided. 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