@@ -596,73 +596,70 @@ 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" ))
603
- {
604
- if (options.get_bool_option (" paths" ))
605
- {
606
- verifier = util_make_unique<
607
- stop_on_fail_verifiert<java_single_path_symex_checkert>>(
608
- 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
- }
627
- else
628
- {
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
- }
653
- }
602
+ verifier = util_make_unique<
603
+ stop_on_fail_verifiert<java_single_path_symex_checkert>>(
604
+ options, ui_message_handler, goto_model);
654
605
}
655
-
656
- // fall back until everything has been ported to goto-checker
657
- if (verifier == nullptr )
606
+ else if (
607
+ options.get_bool_option (" stop-on-fail" ) &&
608
+ !options.get_bool_option (" paths" ) &&
609
+ options.get_bool_option (" localize-faults" ))
610
+ {
611
+ verifier =
612
+ util_make_unique<stop_on_fail_verifier_with_fault_localizationt<
613
+ java_multi_path_symex_checkert>>(
614
+ options, ui_message_handler, goto_model);
615
+ }
616
+ else if (
617
+ options.get_bool_option (" stop-on-fail" ) &&
618
+ !options.get_bool_option (" paths" ) &&
619
+ !options.get_bool_option (" localize-faults" ))
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
+ else if (
626
+ !options.get_bool_option (" stop-on-fail" ) &&
627
+ options.get_bool_option (" paths" ))
628
+ {
629
+ verifier = util_make_unique<all_properties_verifier_with_trace_storaget<
630
+ java_single_path_symex_checkert>>(
631
+ options, ui_message_handler, goto_model);
632
+ }
633
+ else if (
634
+ !options.get_bool_option (" stop-on-fail" ) &&
635
+ !options.get_bool_option (" paths" ) &&
636
+ 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 if (
644
+ !options.get_bool_option (" stop-on-fail" ) &&
645
+ !options.get_bool_option (" paths" ) &&
646
+ !options.get_bool_option (" localize-faults" ))
658
647
{
648
+ verifier = util_make_unique<all_properties_verifier_with_trace_storaget<
649
+ java_multi_path_symex_checkert>>(
650
+ options, ui_message_handler, goto_model);
651
+ }
652
+ else
653
+ {
654
+ // fall back until everything has been ported to goto-checker
655
+
659
656
// The `configure_bmc` callback passed will enable enum-unwind-static if
660
657
// applicable.
661
658
return bmct::do_language_agnostic_bmc (
662
659
options, goto_model, ui_message_handler, configure_bmc);
663
660
}
664
661
665
- resultt result = (*verifier)();
662
+ const resultt result = (*verifier)();
666
663
verifier->report ();
667
664
return result_to_exit_code (result);
668
665
}
0 commit comments