Skip to content

Commit 3809454

Browse files
Use goto verifier for program-only and show-vcc in JBMC
1 parent 1b8f38b commit 3809454

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

jbmc/src/java_bytecode/module_dependencies.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
analyses
22
ansi-c # should go away
3+
goto-checker
34
goto-programs
45
java_bytecode
56
json

jbmc/src/jbmc/jbmc_parse_options.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ Author: Daniel Kroening, [email protected]
2727

2828
#include <ansi-c/ansi_c_language.h>
2929

30+
#include <goto-checker/all_properties_verifier.h>
31+
3032
#include <goto-programs/adjust_float_expressions.h>
3133
#include <goto-programs/lazy_goto_model.h>
3234
#include <goto-programs/instrument_preconditions.h>
@@ -60,6 +62,7 @@ Author: Daniel Kroening, [email protected]
6062
#include <java_bytecode/convert_java_nondet.h>
6163
#include <java_bytecode/java_bytecode_language.h>
6264
#include <java_bytecode/java_enum_static_init_unwind_handler.h>
65+
#include <java_bytecode/java_multi_path_symex_only_checker.h>
6366
#include <java_bytecode/remove_exceptions.h>
6467
#include <java_bytecode/remove_instanceof.h>
6568
#include <java_bytecode/remove_java_new.h>
@@ -563,6 +566,19 @@ int jbmc_parse_optionst::doit()
563566
goto_model.validate(validation_modet::INVARIANT);
564567
}
565568

569+
if(
570+
options.get_bool_option("program-only") ||
571+
options.get_bool_option("show-vcc"))
572+
{
573+
if(!options.get_bool_option("paths"))
574+
{
575+
all_properties_verifiert<java_multi_path_symex_only_checkert> verifier(
576+
options, ui_message_handler, goto_model);
577+
(void)verifier();
578+
return CPROVER_EXIT_SUCCESS;
579+
}
580+
}
581+
566582
// The `configure_bmc` callback passed will enable enum-unwind-static if
567583
// applicable.
568584
return bmct::do_language_agnostic_bmc(

0 commit comments

Comments
 (0)