# Benchmark Link

1. https://github.com/nus-apr/extractfix-benchmark/tree/main

# How to use the benchmark

1. build docker using `docker build -t extractfix-benchmark .`
2. run docker using `docker run -it extractfix-benchmark`
3. To deploy the benchmark, under each vulnerability, please run `./setup.sh && ./config.sh && ./build.sh`
   Specifically, the scripts are used for
   - setup.sh: setup the environment
   - config.sh: configure the project with appropriate flags
   - build.sh: build the binary which contains the vulnerability.

4. run `./test.sh` to trigger corresponding vulnerability. Specifically, the command is 
    `./test.sh {exploit/test_case id}`
    For VRPilot, it needs the error message from compiler, sanitizer, etc, by running `./test.sh > {output_file}` to dump the error message for further usage. We provide the error message in the `example_error_messages` folder.


