Evaluation

Note

All the following code are executed in the docker container.

You can use the following command to enter the container:

$ docker exec -it devil /bin/bash

Once inside the container, navigate to the appropriate directory and execute the following commands:

$ cd /home/devil
$ python3 main.py -s /home/gcc-12.1.0/gcc/testsuite/ -c gcc -d gdb -p
$ python3 main.py -s /home/gcc-12.1.0/gcc/testsuite/ -c clang -d lldb -p

If you wish to prevent the execution from being interrupted upon closing the terminal, you can use the following command:

$ nohup python3 main.py -s /home/gcc-12.1.0/gcc/testsuite/ -c gcc -d gdb -p > output.txt 2>&1 &
$ nohup python3 main.py -s /home/gcc-12.1.0/gcc/testsuite/ -c clang -d lldb -p > output.txt 2>&1 &

Once the execution traces at source-level and instruction-level stepping are collected by DeVil, you can run the following command to analyze the overhead results:

$ cd /home/devil
$ python3 dataAna.py

You can then check the results shown in the terminal, which correspond to Tables 6 and 7 in the paper.

Note

The reproduced results may vary slightly from those in the paper due to differences in machine configurations. However, the relative relationships should remain consistent.