-
Benchmark archives are provided in the
benchmarks/directory.bc bsdtar cjpeg cmark djpeg gawk grep img2sixel jpegoptim jpegtran nano nm pdftops pdftotext readelf sed speexdec tar tcpprep tcpreplay tiffcp tree xmllint xmlwf -
Unpack and compile each benchmark with coverage instrumentation enabled. Store the build outputs in the target directories
obj-gcov{1,2,3,...}.
-
Install required packages
-
Build Instantiation Guidebook
- compile target program (with gcov support)
- prepare target program manual
- (implement your parsing logic in
GoSe/utils/parse_manual.py) python3 main.py --generate-instantiation-guidebook --prog-path=/path/to/program --option-csv-dir=GoSe/input/instantiation_guidebook
- Construct Fine-Grained Decision Probability
python3 main.py --build-graph --strategy GoSe --prog-path=/path/to/program --prog-gcov-dir=/path/to/program_gcov_directory --option-csv-dir=GoSe/input/instantiation_guidebook --save-probability-dir=GoSe/output/probability --coverage-server-port=12321 --parallel-coverage-collection-num=32
- Generate option sequences
python3 main.py --test-seeds --strategy GoSe --prog-path=/path/to/program --prog-gcov-dir=/path/to/program_gcov_directory --option-csv-dir=GoSe/input/instantiation_guidebook --save-probability-dir=GoSe/output/probability --output-seeds-dir=GoSe/output/seeds --coverage-server-port=12321