Commit Graph

438 Commits

Author SHA1 Message Date
Daniel Kroening 2e3fd61faa
Merge pull request #2832 from diffblue/stack-trace
Stack traces
2018-08-25 11:50:17 +01:00
Daniel Kroening a594f9f9a0 cbmc can now print stack traces 2018-08-24 21:00:19 +01:00
Peter Schrammel 2542c8e4ab
Merge pull request #2835 from johnnonweiler/bugfix/janalyzer_module_dependencies
Remove jdiff from janalyzer/module_dependencies.txt
2018-08-24 15:45:50 +01:00
Chris Smowton d4c4298fbd
Merge pull request #2816 from smowton/smowton/feature/json-symbol-table
Add JSON symbol table
2018-08-24 15:06:59 +01:00
John Nonweiler 278d2ffc18 Remove jdiff from janalyzer/module_dependencies.txt 2018-08-24 14:24:50 +01:00
Chris Smowton 20e5d89221 Implement --show-symbol-table in JSON-UI mode
This provides a convenient format for filtering / selecting particular symbols.
2018-08-24 11:06:32 +01:00
Daniel Kroening 8d2a748f97 removed jar_indext types and data structures 2018-08-24 10:07:12 +01:00
Daniel Kroening 27d0ae0565 java_class_loadert::load_entire_jar now returns the classes loaded 2018-08-24 10:06:59 +01:00
svorenova d68708f00e
Merge pull request #2658 from svorenova/bugfix_tg4365
[TG-2755] Add nondet-static option to JBMC and fix it for static initializers
2018-08-23 15:51:24 +01:00
Matthias Güdemann 4ed36c6e9f Fix naming in variables for non-deterministic values 2018-08-23 11:11:45 +02:00
Matthias Güdemann f623c0bd5b Simplify code for alternative parameter types 2018-08-23 11:11:45 +02:00
Matthias Güdemann 6e96333e7a Change from optional set to simply set 2018-08-23 11:11:45 +02:00
Matthias Güdemann d2bc0123b3 Allow multi object type parameter in entry point function call 2018-08-23 11:11:45 +02:00
Matthias Güdemann cb0f3100f7 Add nondet.{h.cpp} 2018-08-23 11:11:45 +02:00
svorenova e37d051c22 Add a comment to static field with the name of the field 2018-08-23 09:14:21 +01:00
svorenova 437be99cba Perform nondet-init in clinit_wrapper even if clinit doesn't exist
This just moves the whole if(nondet-static) block outside of the
if(find_sym_it != symbol_table.symbols.end()) block and updates the
comment
2018-08-23 09:14:21 +01:00
svorenova 46d47e0765 Add a regression test for nondet-static 2018-08-23 09:14:21 +01:00
svorenova 2ecf8e8ea6 Add nondet-static option to JBMC
The option already appears in process_goto_functions before, the flag just needed to be read.
2018-08-23 09:14:21 +01:00
svorenova 9e6caba19a Mark final fields in Java as constants
This will also make sure that they won't get nondet-initialized with
nondet-static option
2018-08-23 09:14:21 +01:00
svorenova 48797b0993 Nondet-initialize variables in clinit_wrapper constructor
If nondet-static option is used
2018-08-23 09:14:20 +01:00
svorenova 5fe44edd7c Pass information to clinit_wrapper constructors
Pass parameters necessary to nondet-initialize variables
2018-08-23 09:14:20 +01:00
svorenova 655978c037 Record nondet-static option in java_bytecode_language 2018-08-23 09:14:20 +01:00
Daniel Kroening 8646fddcd5
Merge pull request #2817 from NathanJPhillips/cleanup/lazy-loading
Minor code cleanup related to lazy loading
2018-08-23 08:33:40 +01:00
Matthias Güdemann 668c4f3335
Merge pull request #2772 from mgudemann/doc/doc-21/java_load_jar
[DOC-21] Documentation for java loading from jar / class files
2018-08-22 19:53:49 +02:00
Nathan Phillips e4bc16ea74 Minor code cleanup related to lazy loading 2018-08-22 18:30:48 +01:00
Matthias Güdemann fc2e8da486 Document java_class_loader 2018-08-22 16:48:47 +02:00
Matthias Güdemann c4cd79107c Documentation for jar_file 2018-08-22 16:48:44 +02:00
Matthias Güdemann 0e6efc711b Documentation for class_loader_limit 2018-08-22 16:48:42 +02:00
Daniel Kroening 53fac78532
Merge pull request #2813 from diffblue/java-char-literals-are-char
no need for cast for Java char literals
2018-08-22 13:55:55 +01:00
Daniel Kroening 1273eac71f
Merge pull request #2804 from NathanJPhillips/cleanup/switch-lazy-mode
Use a switch statement for clarity
2018-08-22 11:46:03 +01:00
Daniel Kroening ed7dc1d7a3 no need for cast for Java char literals 2018-08-22 11:32:56 +01:00
Nathan Phillips 93b3e9c29e
Merge pull request #2752 from NathanJPhillips/feature/parse-parameter-annotations
Enable parsing of annotations on parameters
2018-08-22 10:51:42 +01:00
Nathan Phillips 667738ab91 Use a switch statement for clarity
Replaces repeated if statements on the value of the same variable
2018-08-22 10:47:27 +01:00
Daniel Kroening 78d22fb05c
Merge pull request #2763 from diffblue/classpath
unify jar list and classpath
2018-08-22 08:37:36 +01:00
Nathan Phillips 03b7bf2642 Enable parsing of annotations on parameters 2018-08-21 18:37:15 +01:00
Owen Jones e4224a12ac Fix colons in doxygen
Remove colon after "\return". Add colons after parameter names.
2018-08-21 17:24:39 +01:00
Owen Jones 68ca9a1807 Correct parameter names to stop doxygen warning 2018-08-21 17:24:39 +01:00
Daniel Kroening 53b3c4a5f4 remove redundant class loader limit test 2018-08-21 12:16:33 +01:00
Peter Schrammel dbd6988d67
Merge pull request #2750 from johnnonweiler/documentation-structure
Improve developer documentation structure
2018-08-21 02:36:08 +02:00
Daniel Kroening ba7e06ff8b precompute the category of the classpath entry 2018-08-20 19:15:44 +01:00
Daniel Kroening 5dbd48c6cc unify jar list and classpath 2018-08-20 19:15:44 +01:00
Daniel Kroening 384f0d44da use jar_poolt in java_class_loadert 2018-08-20 12:58:20 +01:00
Daniel Kroening d601a44114 factor out pool for JARs into jar_poolt 2018-08-20 12:58:19 +01:00
Daniel Kroening dbc95f8e7d java_class_loadert: remove unused parameter 2018-08-20 11:45:03 +01:00
owen-jones-diffblue d0be38551b
Merge pull request #2619 from JohnDumbell/jd/bugfix/java_annotation_array_fix
Parse java arrays in annotations properly
2018-08-17 13:56:36 +01:00
johndumbell ac6c7d4ed9 Parse java arrays in annotations properly
Previously the value from the arrays was being parsed correctly but into an object which was then immediately thrown away, so the value was never really used.
2018-08-17 12:56:30 +01:00
Antonia Lechner df0605e64d Add test for enum field of argument type 2018-08-17 09:08:04 +01:00
Antonia Lechner 49089b1fde Fix lazy loading of enum static initializers
Rather than calling clinit_wrapper on every parameter to the entry
method that is an enum, we should first load all the classes that may
be needed before we enter the entry method, and then call
clinit_wrapper on all of those which are enums. For example, the case of
an enum field of an argument to the entry method would have previously
hit an invariant violation.
2018-08-17 00:22:48 +01:00
John Nonweiler 794ba031f4 Change heading in java-bytecode docs 2018-08-16 15:05:30 +01:00
John Nonweiler 0b7c4fb6f1 Add sections to java_bytecode/README.md 2018-08-16 10:55:12 +01:00