示例#1
0
void create_safety_solution(safety_goto_solutiont &solution,
    const symbol_tablet &st, const goto_functionst &gf,
    const program_individualt &ind, const operand_variable_idst &var_ids,
    instruction_set_info_factoryt &info_fac)
{
  const instruction_sett &instr_set=info_fac.get_instructions();
  create_safety_solution(solution, st, gf, ind, var_ids, instr_set);
}
示例#2
0
void create_safety_solution(safety_goto_solutiont &solution,
    const symbol_tablet &st, const goto_functionst &gf,
    const program_individualt &ind, const operand_variable_idst &var_ids)
{
  const goto_programt &execute_body=get_execute_body(gf);
  const instruction_sett instr_set(extract_instruction_set(execute_body));
  create_safety_solution(solution, st, gf, ind, var_ids, instr_set);
}
示例#3
0
void safety_fitness_configt::convert(candidatet &current_candidate,
    const individualt &ind)
{
  const symbol_tablet &st=original_program.st;
  const goto_functionst &gf=original_program.gf;
  invariant_variable_idst ids;
  get_invariant_variable_ids(st, ids);
  create_safety_solution(current_candidate, st, gf, ind, ids, info_fac);
}
void individual_to_safety_solution_deserialisert::operator()(
    safety_goto_solutiont &result, const irept &sdu) const
{
  program_individualt ind;
  deserialise(ind, sdu);
  invariant_variable_idst ids;
  const symbol_tablet &st=prog.st;
  get_invariant_variable_ids(st, ids);
  create_safety_solution(result, st, prog.gf, ind, ids, info_fac);
}
示例#5
0
void safety_learn_configt::convert(candidatet &current_candidate,
    const goto_tracet &trace, const size_t max_sz)
{
  create_safety_solution(current_candidate, program, trace, var_ids, max_sz);
}