Lifteval is a code base and an aspiring framework that was developed in order to evaluate a wide array lifters with self-implemented analyses.
In order to use the lifteval framework, you should build the corresponding image on your machine. This may take several hours. Firstly, make sure you have docker installed and your docker engine is running. In order to build the correct target image, navigate to lifteval’s project directory and use the following command:
./build_eval_stack.shAfter the image has been successfully built, you can start the container along with the interactive shell attached to it by using the command:
docker run -it --rm lightweight-lifteval:latest
The entrypoint for this image is the command:
python3 /app/src/main.pywhich will by default launch the csmith experiment with 100 generated files across the four optimization levels. If you want to change that, delete the directory /app/output and restart running the framework by using the command above along with the following command line arguments:
- -file_number : Specify the number of files to be generated and analyzed. For example:
This command will run the experiment with 200 files instead of the default 100.
python3 /app/src/main.py --file_number 200
- -optimization_levels <o0,o1,o2,o3>: Change the optimization levels for the experiment. For example:
This command will run the experiment with only optimization levels o1 and o2.
python3 /app/src/main.py --optimization_levels o1,o2
- -svf: Switch the experiment to use the SVF test suite instead of Csmith:
python3 /app/src/main.py --svf
By combining these options, you can customize your experiment runs to fit your specific needs. For example, running the experiment with 200 files and only optimization levels o1 and o3, you would use the command:
python3 /app/src/main.py --file_number 200 --optimization_levels o1,o3