int run_safety(optionst &options, mstreamt &result, const symbol_tablet &st, const goto_functionst &gf) { srand(options.get_unsigned_int_option(CEGIS_SEED)); safety_preprocessingt prep(options, st, gf, get_constant_strategy(options)); const safety_programt &safety_program=prep.get_safety_program(); safety_learn_configt learn(safety_program); safety_verify_configt verify_cfg(safety_program); cegis_symex_verifyt<safety_verify_configt> verify(options, verify_cfg); return configure_backend(result, options, safety_program, learn, verify, prep); }
int run_refactor(optionst &options, messaget::mstreamt &result, const symbol_tablet &st, const goto_functionst &gf) { refactor_preprocessingt preproc(options, st, gf); refactor_symex_learnt learn_cfg(preproc.get_program()); refactor_symex_verifyt verify_cfg(preproc.get_program()); cegis_symex_learnt<refactor_preprocessingt, refactor_symex_learnt> learn( options, preproc, learn_cfg); cegis_symex_verifyt<refactor_symex_verifyt> oracle(options, verify_cfg); return run_cegis_with_statistics_wrapper( result, options, learn, oracle, preproc); }
int main(int argc, char *argv[]) { /* Simple forced bounds */ char cfg_def[99][99]; char cfg_stats[99][99]; int n_cfg_def; int n_cfg_stats; get_cfg(cfg_def, &n_cfg_def); get_cfg(cfg_stats, &n_cfg_stats); verify_cfg(cfg_def, n_cfg_def, cfg_stats, n_cfg_stats); return 0; }