Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Bazoka13/SMTgazer

Repository files navigation

SMTgazer

Welcome to the homepage of SMTgazer!

SMTgazer is an effective algorithm scheduling based method for SMT solving. This repository includes the implementation of SMTgazer and the experimental results.

Datasets

The BMC, SymEx, and SyGuS datasets can be found on Zenodo. The SMT-COMP dataset can be found on StarExec via the SMT-COMP website.

machfea/*_solver.json is the file containing the candidate solvers of each dataset.

machfea/infer_result/ is the folder containing the feature files of each dataset.

data/ is the folder containing the running time of all solvers for each dataset.

Getting Started

Before using SMTgazer, make sure you have installed the requirements and SMAC3.

For the requirements, run:

pip install -r requirements.txt

smac/ is the folder containing the implementations of SMAC3 with a hybrid model. To install SMAC3, run:

python ./smac/setup.py install

Training

If you need to use SMTgazer on your own dataset named "xxx", generate the corresponding json file (data/xxxLabels.json) according to the format of data/*Labels.json and the file containing the candidate solvers like machfea/*_solver.json.

Modify the corresponding dataset name and path in machfea/mach_run_inference.py. Generate the feature files by running:

cd machfea
python mach_run_inference.py

Change line 32 of batchportfolio.py to:

key_set = ["xxx"]

Uncomment the code on line 24 of batchportfolio.py, run:

python batchportfolio.py

The training result will be stored in the folder output/ with the prefix train_result.

Testing

Uncomment the code on line 26 of batchportfolio.py, run:

python batchportfolio.py

The testing result will be stored in the folder output/ with the prefix test_result.

Experimental Results

output/ is the folder containing the scheduling sequences generated by SMTgazer on the datasets.

To calculate the PAR2 score and the number of unsolved instances for each dataset, run:

python calc_portfolio_result.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages