@@ -596,73 +596,68 @@ int jbmc_parse_optionst::doit()
596
596
std::unique_ptr<goto_verifiert> verifier = nullptr ;
597
597
598
598
if (
599
- ! options.is_set ( " cover " ) && !options. get_bool_option (" dimacs " ) &&
600
- options.get_option ( " outfile " ). empty ( ))
599
+ options.get_bool_option (" stop-on-fail " ) &&
600
+ options.get_bool_option ( " paths " ))
601
601
{
602
- if (options.get_bool_option (" stop-on-fail" ))
602
+ verifier = util_make_unique<
603
+ stop_on_fail_verifiert<java_single_path_symex_checkert>>(
604
+ options, ui_message_handler, goto_model);
605
+ }
606
+ else if (
607
+ options.get_bool_option (" stop-on-fail" ) &&
608
+ !options.get_bool_option (" paths" ))
609
+ {
610
+ if (options.get_bool_option (" localize-faults" ))
603
611
{
604
- if (options.get_bool_option (" paths" ))
605
- {
606
- verifier = util_make_unique<
607
- stop_on_fail_verifiert<java_single_path_symex_checkert>>(
612
+ verifier =
613
+ util_make_unique<stop_on_fail_verifier_with_fault_localizationt<
614
+ java_multi_path_symex_checkert>>(
608
615
options, ui_message_handler, goto_model);
609
- }
610
- else
611
- {
612
- if (options.get_bool_option (" localize-faults" ))
613
- {
614
- verifier =
615
- util_make_unique<stop_on_fail_verifier_with_fault_localizationt<
616
- java_multi_path_symex_checkert>>(
617
- options, ui_message_handler, goto_model);
618
- }
619
- else
620
- {
621
- verifier = util_make_unique<
622
- stop_on_fail_verifiert<java_multi_path_symex_checkert>>(
623
- options, ui_message_handler, goto_model);
624
- }
625
- }
626
616
}
627
617
else
628
618
{
629
- if (options.get_bool_option (" paths" ))
630
- {
631
- verifier =
632
- util_make_unique<all_properties_verifier_with_trace_storaget<
633
- java_single_path_symex_checkert>>(
634
- options, ui_message_handler, goto_model);
635
- }
636
- else
637
- {
638
- if (options.get_bool_option (" localize-faults" ))
639
- {
640
- verifier =
641
- util_make_unique<all_properties_verifier_with_fault_localizationt<
642
- java_multi_path_symex_checkert>>(
643
- options, ui_message_handler, goto_model);
644
- }
645
- else
646
- {
647
- verifier =
648
- util_make_unique<all_properties_verifier_with_trace_storaget<
649
- java_multi_path_symex_checkert>>(
650
- options, ui_message_handler, goto_model);
651
- }
652
- }
619
+ verifier = util_make_unique<
620
+ stop_on_fail_verifiert<java_multi_path_symex_checkert>>(
621
+ options, ui_message_handler, goto_model);
653
622
}
654
623
}
655
-
656
- // fall back until everything has been ported to goto-checker
657
- if (verifier == nullptr )
624
+ else if (
625
+ !options. get_bool_option ( " stop-on-fail " ) &&
626
+ options. get_bool_option ( " paths " ) )
658
627
{
628
+ verifier = util_make_unique<all_properties_verifier_with_trace_storaget<
629
+ java_single_path_symex_checkert>>(
630
+ options, ui_message_handler, goto_model);
631
+ }
632
+ else if (
633
+ !options.get_bool_option (" stop-on-fail" ) &&
634
+ !options.get_bool_option (" paths" ))
635
+ {
636
+ if (options.get_bool_option (" localize-faults" ))
637
+ {
638
+ verifier =
639
+ util_make_unique<all_properties_verifier_with_fault_localizationt<
640
+ java_multi_path_symex_checkert>>(
641
+ options, ui_message_handler, goto_model);
642
+ }
643
+ else
644
+ {
645
+ verifier = util_make_unique<all_properties_verifier_with_trace_storaget<
646
+ java_multi_path_symex_checkert>>(
647
+ options, ui_message_handler, goto_model);
648
+ }
649
+ }
650
+ else
651
+ {
652
+ // fall back until everything has been ported to goto-checker
653
+
659
654
// The `configure_bmc` callback passed will enable enum-unwind-static if
660
655
// applicable.
661
656
return bmct::do_language_agnostic_bmc (
662
657
options, goto_model, ui_message_handler, configure_bmc);
663
658
}
664
659
665
- resultt result = (*verifier)();
660
+ const resultt result = (*verifier)();
666
661
verifier->report ();
667
662
return result_to_exit_code (result);
668
663
}
0 commit comments