Skip to content

Commit 68d54ed

Browse files
author
Daniel Kroening
committed
remove usage of Java bytecode frontend
1 parent b934aaf commit 68d54ed

16 files changed

+8
-104
lines changed

CMakeLists.txt

-4
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,11 @@ set_target_properties(
6363
goto-instrument-lib
6464
goto-programs
6565
goto-symex
66-
java_bytecode
67-
jbmc
68-
jbmc-lib
6966
jsil
7067
json
7168
langapi
7269
linking
7370
miniBDD
74-
miniz
7571
mmcc
7672
pointer-analysis
7773
solvers

regression/CMakeLists.txt

-5
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,16 @@ endmacro(add_test_pl_tests)
2424
# running tests in parallel, it is important that these directories are
2525
# listed with decreasing runtimes (i.e. longest running at the top)
2626
add_subdirectory(cbmc)
27-
add_subdirectory(cbmc-java)
2827
add_subdirectory(goto-analyzer)
2928
add_subdirectory(ansi-c)
30-
add_subdirectory(jbmc-strings)
3129
add_subdirectory(goto-instrument)
3230
add_subdirectory(cpp)
33-
add_subdirectory(strings-smoke-tests)
3431
add_subdirectory(cbmc-cover)
3532
add_subdirectory(goto-instrument-typedef)
3633
add_subdirectory(strings)
3734
add_subdirectory(invariants)
3835
add_subdirectory(goto-diff)
3936
add_subdirectory(test-script)
40-
add_subdirectory(goto-analyzer-taint)
41-
add_subdirectory(cbmc-java-inheritance)
4237
if(NOT WIN32)
4338
add_subdirectory(goto-gcc)
4439
endif()

regression/Makefile

-6
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,16 @@
22
# running tests in parallel, it is important that these directories are
33
# listed with decreasing runtimes (i.e. longest running at the top)
44
DIRS = cbmc \
5-
cbmc-java \
65
goto-analyzer \
76
ansi-c \
8-
jbmc-strings \
97
goto-instrument \
108
cpp \
11-
strings-smoke-tests \
129
cbmc-cover \
1310
goto-instrument-typedef \
1411
smt2_solver \
1512
strings \
1613
invariants \
17-
goto-diff \
1814
test-script \
19-
goto-analyzer-taint \
20-
cbmc-java-inheritance \
2115
goto-gcc \
2216
goto-cc-cbmc \
2317
cbmc-cpp \

src/CMakeLists.txt

-3
Original file line numberDiff line numberDiff line change
@@ -96,12 +96,9 @@ add_subdirectory(pointer-analysis)
9696
add_subdirectory(solvers)
9797
add_subdirectory(util)
9898
add_subdirectory(xmllang)
99-
add_subdirectory(java_bytecode)
100-
add_subdirectory(miniz)
10199
add_subdirectory(clobber)
102100

103101
add_subdirectory(cbmc)
104-
add_subdirectory(jbmc)
105102
add_subdirectory(goto-cc)
106103
add_subdirectory(goto-instrument)
107104
add_subdirectory(goto-analyzer)

src/Makefile

+5-17
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
DIRS = ansi-c big-int cbmc jbmc cpp goto-cc goto-instrument goto-programs \
1+
DIRS = ansi-c big-int cbmc cpp goto-cc goto-instrument goto-programs \
22
goto-symex langapi pointer-analysis solvers util linking xmllang \
3-
assembler analyses java_bytecode \
3+
assembler analyses \
44
json goto-analyzer jsil goto-diff clobber \
5-
memory-models miniz
5+
memory-models
66

7-
all: cbmc.dir jbmc.dir goto-cc.dir goto-instrument.dir \
7+
all: cbmc.dir goto-cc.dir goto-instrument.dir \
88
goto-analyzer.dir goto-diff.dir
99

1010
###############################################################################
@@ -19,10 +19,8 @@ $(patsubst %, %.dir, $(filter-out big-int util, $(DIRS))): util.dir
1919

2020
cpp.dir: ansi-c.dir linking.dir
2121

22-
java_bytecode.dir: miniz.dir
23-
2422
languages: util.dir langapi.dir \
25-
cpp.dir ansi-c.dir xmllang.dir assembler.dir java_bytecode.dir \
23+
cpp.dir ansi-c.dir xmllang.dir assembler.dir \
2624
jsil.dir
2725

2826
goto-instrument.dir: languages goto-programs.dir pointer-analysis.dir \
@@ -33,8 +31,6 @@ cbmc.dir: languages solvers.dir goto-symex.dir analyses.dir \
3331
pointer-analysis.dir goto-programs.dir linking.dir \
3432
goto-instrument.dir
3533

36-
jbmc.dir: java_bytecode.dir cbmc.dir
37-
3834
goto-analyzer.dir: languages analyses.dir goto-programs.dir linking.dir \
3935
json.dir goto-instrument.dir
4036

@@ -86,14 +82,6 @@ glucose-download:
8682
@(cd ../glucose-syrup; patch -p1 < ../scripts/glucose-syrup-patch)
8783
@rm glucose-syrup.tgz
8884

89-
cprover-jar-build:
90-
@echo "Building org.cprover.jar"
91-
@(cd java_bytecode/library/; \
92-
mkdir -p target; \
93-
javac -d target/ `find src/ -name "*.java"`; \
94-
cd target; jar cf org.cprover.jar `find . -name "*.class"`; \
95-
mv org.cprover.jar ../../../)
96-
9785
ipasir-download:
9886
# get the 2016 version of the ipasir package, which contains a few solvers
9987
@echo "Download ipasir 2016 package"

src/clobber/CMakeLists.txt

-3
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ target_link_libraries(clobber-lib
2525
)
2626

2727
add_if_library(clobber-lib bv_refinement)
28-
add_if_library(clobber-lib java_bytecode)
29-
add_if_library(clobber-lib specc)
30-
add_if_library(clobber-lib php)
3128

3229
# Executable
3330
add_executable(clobber clobber_main.cpp)

src/clobber/Makefile

+1-13
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ SRC = clobber_main.cpp \
33
# Empty last line
44
OBJ += ../ansi-c/ansi-c$(LIBEXT) \
55
../cpp/cpp$(LIBEXT) \
6-
../java_bytecode/java_bytecode$(LIBEXT) \
76
../linking/linking$(LIBEXT) \
87
../big-int/big-int$(LIBEXT) \
98
../goto-programs/goto-programs$(LIBEXT) \
@@ -17,8 +16,7 @@ OBJ += ../ansi-c/ansi-c$(LIBEXT) \
1716
../goto-symex/rewrite_union$(OBJEXT) \
1817
../pointer-analysis/dereference$(OBJEXT) \
1918
../goto-instrument/dump_c$(OBJEXT) \
20-
../goto-instrument/goto_program2code$(OBJEXT) \
21-
../miniz/miniz$(OBJEXT)
19+
../goto-instrument/goto_program2code$(OBJEXT)
2220

2321
INCLUDES= -I ..
2422

@@ -31,16 +29,6 @@ CLEANFILES = clobber$(EXEEXT)
3129

3230
all: clobber$(EXEEXT)
3331

34-
ifneq ($(wildcard ../specc/Makefile),)
35-
OBJ += ../specc/specc$(LIBEXT)
36-
CP_CXXFLAGS += -DHAVE_SPECC
37-
endif
38-
39-
ifneq ($(wildcard ../php/Makefile),)
40-
OBJ += ../php/php$(LIBEXT)
41-
CP_CXXFLAGS += -DHAVE_PHP
42-
endif
43-
4432
###############################################################################
4533

4634
clobber$(EXEEXT): $(OBJ)

src/goto-analyzer/Makefile

-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ SRC = goto_analyzer_main.cpp \
1010

1111
OBJ += ../ansi-c/ansi-c$(LIBEXT) \
1212
../cpp/cpp$(LIBEXT) \
13-
../java_bytecode/java_bytecode$(LIBEXT) \
1413
../linking/linking$(LIBEXT) \
1514
../big-int/big-int$(LIBEXT) \
1615
../goto-programs/goto-programs$(LIBEXT) \

src/goto-analyzer/goto_analyzer_parse_options.cpp

-10
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ Author: Daniel Kroening, [email protected]
1818

1919
#include <ansi-c/ansi_c_language.h>
2020
#include <cpp/cpp_language.h>
21-
#include <java_bytecode/java_bytecode_language.h>
2221
#include <jsil/jsil_language.h>
2322

2423
#include <goto-programs/initialize_goto_model.h>
@@ -43,9 +42,6 @@ Author: Daniel Kroening, [email protected]
4342
#include <analyses/dependence_graph.h>
4443
#include <analyses/interval_domain.h>
4544

46-
#include <java_bytecode/remove_exceptions.h>
47-
#include <java_bytecode/remove_instanceof.h>
48-
4945
#include <langapi/mode.h>
5046
#include <langapi/language.h>
5147

@@ -76,7 +72,6 @@ void goto_analyzer_parse_optionst::register_languages()
7672
{
7773
register_language(new_ansi_c_language);
7874
register_language(new_cpp_language);
79-
register_language(new_java_bytecode_language);
8075
register_language(new_jsil_language);
8176
}
8277

@@ -751,11 +746,6 @@ bool goto_analyzer_parse_optionst::process_goto_program(
751746
get_message_handler(), goto_model, cmdline.isset("pointer-check"));
752747
// Java virtual functions -> explicit dispatch tables:
753748
remove_virtual_functions(goto_model);
754-
// remove Java throw and catch
755-
// This introduces instanceof, so order is important:
756-
remove_exceptions(goto_model);
757-
// remove rtti
758-
remove_instanceof(goto_model);
759749

760750
// do partial inlining
761751
status() << "Partial Inlining" << eom;

src/goto-cc/Makefile

-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ OBJ += ../big-int/big-int$(LIBEXT) \
2727
../xmllang/xmllang$(LIBEXT) \
2828
../assembler/assembler$(LIBEXT) \
2929
../langapi/langapi$(LIBEXT) \
30-
../miniz/miniz$(OBJEXT) \
3130
../json/json$(LIBEXT)
3231

3332
INCLUDES= -I ..

src/goto-diff/Makefile

-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ SRC = change_impact.cpp \
99

1010
OBJ += ../ansi-c/ansi-c$(LIBEXT) \
1111
../cpp/cpp$(LIBEXT) \
12-
../java_bytecode/java_bytecode$(LIBEXT) \
1312
../linking/linking$(LIBEXT) \
1413
../big-int/big-int$(LIBEXT) \
1514
../goto-programs/goto-programs$(LIBEXT) \
@@ -32,7 +31,6 @@ OBJ += ../ansi-c/ansi-c$(LIBEXT) \
3231
../xmllang/xmllang$(LIBEXT) \
3332
../util/util$(LIBEXT) \
3433
../solvers/solvers$(LIBEXT) \
35-
../miniz/miniz$(OBJEXT) \
3634
../json/json$(LIBEXT)
3735

3836
INCLUDES= -I ..

src/goto-diff/goto_diff_languages.cpp

-4
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ Author: Daniel Kroening, [email protected]
2020
#include <specc/specc_language.h>
2121
#endif
2222

23-
#include <java_bytecode/java_bytecode_language.h>
24-
2523
void goto_diff_languagest::register_languages()
2624
{
2725
register_language(new_ansi_c_language);
@@ -30,6 +28,4 @@ void goto_diff_languagest::register_languages()
3028
#ifdef HAVE_SPECC
3129
register_language(new_specc_language);
3230
#endif
33-
34-
register_language(new_java_bytecode_language);
3531
}

src/goto-diff/goto_diff_parse_options.cpp

+1-10
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,6 @@ Author: Peter Schrammel
5151

5252
#include <pointer-analysis/add_failed_symbols.h>
5353

54-
#include <java_bytecode/java_bytecode_language.h>
55-
#include <java_bytecode/remove_instanceof.h>
56-
#include <java_bytecode/remove_exceptions.h>
57-
5854
#include <langapi/mode.h>
5955

6056
#include <cbmc/version.h>
@@ -422,10 +418,6 @@ bool goto_diff_parse_optionst::process_goto_program(
422418

423419
// Java virtual functions -> explicit dispatch tables:
424420
remove_virtual_functions(goto_model);
425-
// remove catch and throw
426-
remove_exceptions(goto_model);
427-
// Java instanceof -> clsid comparison:
428-
remove_instanceof(goto_model);
429421

430422
mm_io(goto_model);
431423

@@ -532,8 +524,7 @@ void goto_diff_parse_optionst::help()
532524
"Program instrumentation options:\n"
533525
HELP_GOTO_CHECK
534526
" --cover CC create test-suite with coverage criterion CC\n" // NOLINT(*)
535-
"Java Bytecode frontend options:\n"
536-
JAVA_BYTECODE_LANGUAGE_OPTIONS_HELP
527+
"\n"
537528
"Other options:\n"
538529
" --version show version and exit\n"
539530
" --json-ui use JSON-formatted output\n"

unit/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ target_link_libraries(
4040
testing-utils
4141
ansi-c
4242
solvers
43-
java_bytecode
4443
goto-programs
4544
goto-instrument-lib
4645
)

unit/Makefile

+1-23
Original file line numberDiff line numberDiff line change
@@ -13,47 +13,26 @@ SRC += unit_tests.cpp \
1313
analyses/does_remove_const/does_type_preserve_const_correctness.cpp \
1414
analyses/does_remove_const/is_type_at_least_as_const_as.cpp \
1515
goto-programs/goto_trace_output.cpp \
16-
goto-programs/class_hierarchy_output.cpp \
17-
goto-programs/class_hierarchy_graph.cpp \
18-
goto-programs/remove_virtual_functions_without_fallback.cpp \
19-
java_bytecode/java_bytecode_convert_class/convert_abstract_class.cpp \
20-
java_bytecode/java_bytecode_convert_method/convert_invoke_dynamic.cpp \
21-
java_bytecode/java_bytecode_parse_generics/parse_generic_class.cpp \
22-
java_bytecode/java_object_factory/gen_nondet_string_init.cpp \
23-
java_bytecode/java_bytecode_parse_lambdas/java_bytecode_parse_lambda_method_table.cpp \
24-
java_bytecode/java_bytecode_parse_lambdas/java_bytecode_convert_class_lambda_method_handles.cpp \
2516
miniBDD_new.cpp \
26-
java_bytecode/java_string_library_preprocess/convert_exprt_to_string_exprt.cpp \
27-
java_bytecode/java_utils_test.cpp \
28-
java_bytecode/inherited_static_fields/inherited_static_fields.cpp \
29-
pointer-analysis/custom_value_set_analysis.cpp \
3017
sharing_node.cpp \
3118
solvers/refinement/string_constraint_generator_valueof/calculate_max_string_length.cpp \
3219
solvers/refinement/string_constraint_generator_valueof/get_numeric_value_from_character.cpp \
3320
solvers/refinement/string_constraint_generator_valueof/is_digit_with_radix.cpp \
34-
solvers/refinement/string_constraint_instantiation/instantiate_not_contains.cpp \
3521
solvers/refinement/string_refinement/concretize_array.cpp \
36-
solvers/refinement/string_refinement/dependency_graph.cpp \
3722
solvers/refinement/string_refinement/substitute_array_list.cpp \
38-
solvers/refinement/string_refinement/string_symbol_resolution.cpp \
3923
solvers/refinement/string_refinement/sparse_array.cpp \
4024
solvers/refinement/string_refinement/union_find_replace.cpp \
4125
util/expr_cast/expr_cast.cpp \
4226
util/expr_iterator.cpp \
43-
util/has_subtype.cpp \
4427
util/irep.cpp \
4528
util/irep_sharing.cpp \
4629
util/message.cpp \
4730
util/optional.cpp \
48-
util/parameter_indices.cpp \
49-
util/simplify_expr.cpp \
5031
util/small_shared_two_way_ptr.cpp \
5132
util/string_utils/split_string.cpp \
5233
util/string_utils/strip_string.cpp \
5334
util/symbol_table.cpp \
5435
catch_example.cpp \
55-
java_bytecode/java_virtual_functions/virtual_functions.cpp \
56-
java_bytecode/java_bytecode_parse_generics/parse_generic_superclasses.cpp \
5736
# Empty last line
5837

5938
INCLUDES= -I ../src/ -I.
@@ -67,8 +46,7 @@ cprover.dir:
6746
testing-utils.dir:
6847
$(MAKE) $(MAKEARGS) -C testing-utils
6948

70-
CPROVER_LIBS =../src/java_bytecode/java_bytecode$(LIBEXT) \
71-
../src/miniz/miniz$(OBJEXT) \
49+
CPROVER_LIBS =../src/miniz/miniz$(OBJEXT) \
7250
../src/ansi-c/ansi-c$(LIBEXT) \
7351
../src/cpp/cpp$(LIBEXT) \
7452
../src/json/json$(LIBEXT) \

unit/testing-utils/Makefile

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
SRC = \
22
c_to_expr.cpp \
33
free_form_cmdline.cpp \
4-
load_java_class.cpp \
54
require_expr.cpp \
65
require_goto_statements.cpp \
76
require_parse_tree.cpp \

0 commit comments

Comments
 (0)