This repository is a collection of case studies (experiments) for bugs found with STS.
To properly rerun an old experiment you may need to rollback STS, POX, Hassel, and the control software to the software versions when the experiment was originally recorded.
The original software versions are stored in each experiment's
metadata file. We provide two scripts in STS to automatically read the information stored there, rollback the software, and rerun experiments:
tools/run_old_experiment.rb: reruns a single experiment. See
tools/run_cmd_per_experiment.rb: runs a shell command within each experiment directory from the SIGCOMM'14 paper. Usage:
Usage: run_cmd_per_experiment [options] -c, --command-path PATH Absolute path to a command to run within each directory -e, --exclude-synthetic Whether to exclude synthetic bug experiments -r, --rollback-sts Whether to rollback STS + dependencies to the versions specified in metadata.json
We often write a simple shell script to execute some analysis on the experiment, and pass the path to the shell script to