From 6d9a620aa10a0bb4eaedcce9904ee38ab2d0daec Mon Sep 17 00:00:00 2001 From: Sungkeun Cho Date: Wed, 12 Aug 2020 05:05:58 -0700 Subject: [PATCH] [cost] Enable purity by default in cost Reviewed By: ezgicicek Differential Revision: D23073443 fbshipit-source-id: a66f88989 --- infer/src/base/Checker.ml | 2 +- .../codetoanalyze/java/performance/Makefile | 2 +- .../codetoanalyze/java/performance/issues.exp | 189 ------------------ 3 files changed, 2 insertions(+), 191 deletions(-) diff --git a/infer/src/base/Checker.ml b/infer/src/base/Checker.ml index 8f6f7c83d..5c58f0b20 100644 --- a/infer/src/base/Checker.ml +++ b/infer/src/base/Checker.ml @@ -145,7 +145,7 @@ let config_unsafe checker = runtime complexity with `infer reportdiff`." ; cli_flags= Some {deprecated= []; show_in_help= true} ; enabled_by_default= false - ; activates= [BufferOverrunAnalysis] } + ; activates= [BufferOverrunAnalysis; PurityAnalysis] } | Eradicate -> { id= "eradicate" ; kind= diff --git a/infer/tests/codetoanalyze/java/performance/Makefile b/infer/tests/codetoanalyze/java/performance/Makefile index 8eda445b0..4d5f60f3f 100644 --- a/infer/tests/codetoanalyze/java/performance/Makefile +++ b/infer/tests/codetoanalyze/java/performance/Makefile @@ -5,7 +5,7 @@ TESTS_DIR = ../../.. -INFER_OPTIONS = --cost-only --purity --bufferoverrun --debug-exceptions +INFER_OPTIONS = --cost-only --bufferoverrun --debug-exceptions INFERPRINT_OPTIONS = --issues-tests INFERPRINT_COST_OPTIONS = --cost-issues-tests SOURCES = $(wildcard *.java) diff --git a/infer/tests/codetoanalyze/java/performance/issues.exp b/infer/tests/codetoanalyze/java/performance/issues.exp index 6c9642843..7e05837bf 100644 --- a/infer/tests/codetoanalyze/java/performance/issues.exp +++ b/infer/tests/codetoanalyze/java/performance/issues.exp @@ -1,171 +1,54 @@ -codetoanalyze/java/performance/AllocTest.java, AllocTest$BArray.array_alloc_mult():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void AllocTest$BArray.array_alloc_mult()] -codetoanalyze/java/performance/AllocTest.java, AllocTest.new_alloc_mult():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void AllocTest.new_alloc_mult()] -codetoanalyze/java/performance/AllocTest.java, AllocTest.new_alloc_one():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void AllocTest.new_alloc_one()] -codetoanalyze/java/performance/AndroidXCollectionTest.java, AndroidXCollectionTest.iterate_over_sparsearraycompat_linear(androidx.collection.SparseArrayCompat):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void AndroidXCollectionTest.iterate_over_sparsearraycompat_linear(SparseArrayCompat)] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Array.array_access_constant()] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_overrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Array.array_access_overrun_constant()] codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_overrun_constant():void, 4, BUFFER_OVERRUN_L2, no_bucket, ERROR, [,Assignment,,Array declaration,Array access: Offset: [2, 8] Size: 8] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_weird_linear(long[],int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Array.array_access_weird_linear(long[],int)] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.binary_search_log(java.lang.String[]):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Array.binary_search_log(String[])] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.bsearch_log(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Array.bsearch_log(int)] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Array.call_gen_and_iter_types(int)] codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types_linear_FP(int,int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types_linear_FP(int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Array.call_gen_and_iter_types_linear_FP(int,int)] codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types_linear_FP(int,int):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.gen_and_iter_types(int):java.lang.String[], 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function String[] Array.gen_and_iter_types(int)] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.init_array_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Array.init_array_constant()] -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.use_static_final_array_field_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Array.use_static_final_array_field_constant()] -codetoanalyze/java/performance/ArrayCost.java, ArrayCost.ArrayCost(int[]):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayCost.ArrayCost(int[])] -codetoanalyze/java/performance/ArrayCost.java, ArrayCost.isPowOfTwo_constant(int):boolean, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function boolean ArrayCost.isPowOfTwo_constant(int)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest$Elt.get_boolean():boolean, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function boolean ArrayListTest$Elt.get_boolean()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.array_get_elem_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.array_get_elem_constant()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add3_overrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_add3_overrun_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add3_overrun_constant():void, 5, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Through,Through,Through,Array access: Offset added: 4 Size: 3] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_addAll_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_addAll_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_addAll_constant():void, 10, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Through,Through,Through,Array access: Offset added: 5 Size: 4] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_in_loop_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_add_in_loop_constant()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_in_nested_loop_constant_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_add_in_nested_loop_constant_constant()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_then_loop_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_add_then_loop_constant()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_ok_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_empty_ok_constant()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_overrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_empty_overrun_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_overrun_constant():void, 2, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Array access: Offset added: 1 Size: 0] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_underrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_empty_underrun_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_underrun_constant():void, 2, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Array access: Offset added: -1 Size: 0] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_get_constant()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_overrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_get_overrun_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_overrun_constant():void, 3, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Through,Array access: Offset: 2 Size: 1] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_underrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_get_underrun_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_underrun_constant():void, 2, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Array access: Offset: 0 Size: 0] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_remove_constant()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_in_loop_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_remove_in_loop_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_in_loop_constant():void, 6, BUFFER_OVERRUN_L5, no_bucket, ERROR, [,Assignment,,Set array size,Array access: Offset: [0, 9] Size: [0, 10]] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_overrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_remove_overrun_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_overrun_constant():void, 3, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Through,Array access: Offset: 1 Size: 1] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_set_constant()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_overrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_set_overrun_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_overrun_constant():void, 3, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Through,Array access: Offset: 1 Size: 1] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_underrun_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.arraylist_set_underrun_constant()] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_underrun_constant():void, 2, BUFFER_OVERRUN_L1, no_bucket, ERROR, [,Array declaration,Array access: Offset: 0 Size: 0] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.boolean_control_var_linear():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.boolean_control_var_linear()] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.call_init_with_put_linear(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.call_init_with_put_linear(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_linear(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.constructor_linear(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.empty_list_constant(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.empty_list_constant(int)] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.empty_list_constant(int):void, 3, CONDITION_ALWAYS_FALSE, no_bucket, WARNING, [Here] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.get_size(java.util.ArrayList):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int ArrayListTest.get_size(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.init_with_put_linear(java.util.ArrayList):java.util.HashMap, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function HashMap ArrayListTest.init_with_put_linear(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.iterate_over_arraylist(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist_shortcut_linear(java.util.ArrayList):boolean, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function boolean ArrayListTest.iterate_over_arraylist_shortcut_linear(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist_with_inner(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.iterate_over_arraylist_with_inner(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_local_arraylist(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.iterate_over_local_arraylist(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_with_iterator(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.iterate_with_iterator(ArrayList)] -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.json_array_constructor_linear(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ArrayListTest.json_array_constructor_linear(ArrayList)] codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.substitute_array_block_linear(java.util.ArrayList,java.util.ArrayList):void, 8, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Parameter `b.elements[*]`,Call,Parameter `a.elements[*]`,Through,Through,Call,,Assignment,Binary operation: ([0, +oo] + 1):signed32 by call to `void ArrayListTest.iterate_over_arraylist(ArrayList)` ] -codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_constant_FP(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Break.break_constant_FP(int)] -codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_loop(int,int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Break.break_loop(int,int)] -codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_outer_loop_MaybeInfinite(int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Break.break_outer_loop_MaybeInfinite(int,int)] codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_FP(int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_FP(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CantHandle.square_root_FP(int)] codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_FP(int):void, 2, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,,Assignment,Binary operation: ([0, +oo] × [0, +oo]):signed32] codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_FP(int):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_variant_FP(int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_variant_FP(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CantHandle.square_root_variant_FP(int)] codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_variant_FP(int):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32] codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType$1.(), 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.():void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to CollectionTest$MyEnumType$1.(),Unbounded loop,Loop] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.valueOf(java.lang.String):CollectionTest$MyEnumType, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function CollectionTest$MyEnumType CollectionTest$MyEnumType.valueOf(String)] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.values():CollectionTest$MyEnumType[], 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function CollectionTest$MyEnumType[] CollectionTest$MyEnumType.values()] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.ensure_call(CollectionTest$MyCollection):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionTest.ensure_call(CollectionTest$MyCollection)] codetoanalyze/java/performance/CollectionTest.java, CollectionTest.immutable_set_of_constant():void, 3, CONDITION_ALWAYS_FALSE, no_bucket, WARNING, [Here] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_call_quad(int,CollectionTest$MyCollection):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionTest.iterate_over_call_quad(int,CollectionTest$MyCollection)] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection)] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_mycollection_quad(java.util.concurrent.ConcurrentLinkedQueue):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionTest.iterate_over_mycollection_quad(ConcurrentLinkedQueue)] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_some_java_collection(java.util.concurrent.ConcurrentLinkedQueue):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionTest.iterate_over_some_java_collection(ConcurrentLinkedQueue)] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.loop_over_call(int,CollectionTest$MyCollection):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionTest.loop_over_call(int,CollectionTest$MyCollection)] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.nested_iterator_qubic(int,CollectionTest$MyCollection,CollectionTest$MyCollection):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionTest.nested_iterator_qubic(int,CollectionTest$MyCollection,CollectionTest$MyCollection)] -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.sparse_array_linear(android.util.SparseArray):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionTest.sparse_array_linear(SparseArray)] codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.emptyList_constant():void, 1, CONDITION_ALWAYS_FALSE, no_bucket, WARNING, [Here] codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.emptySet_constant():void, 2, CONDITION_ALWAYS_FALSE, no_bucket, WARNING, [Here] -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.globalEmptyList_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void CollectionsTest.globalEmptyList_constant()] codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.globalEmptyList_constant():void, 1, CONDITION_ALWAYS_FALSE, no_bucket, WARNING, [Here] -codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.compound_while(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Compound_loop.compound_while(int)] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.compound_while(int):int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Compound_loop.nested_while_and_or_constant(int)] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_and_constant(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Compound_loop.while_and_and_constant(int)] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_and_constant(int):void, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or_top(int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or_top(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Compound_loop.while_and_or_top(int)] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or_top(int):void, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or_top(int):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/Continue.java, codetoanalyze.java.performance.Continue.continue_outer_loop_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Continue.continue_outer_loop_constant()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.alias2_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.alias2_constant()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.alias_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.alias_constant()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.band_constant(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.band_constant(int)] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.bar_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.bar_constant()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_mult_symbols_quadratic(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.call_mult_symbols_quadratic(int)] codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_mult_symbols_quadratic(int):void, 2, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Parameter `n`,Call,,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32 by call to `void Cost_test.mult_symbols_quadratic(int,int)` ] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.cond_constant(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.cond_constant(int)] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.foo_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.foo_constant()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.get_global():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.get_global()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_boolean_symbols_linear(boolean,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.ignore_boolean_symbols_linear(boolean,int)] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop0_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.loop0_constant()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop1_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.loop1_constant()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop2_linear(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.loop2_linear(int)] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop3_constant(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.loop3_constant(int)] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop_on_unknown_global_linear():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.loop_on_unknown_global_linear()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.main_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test.main_constant()] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.mult_symbols_quadratic(int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.mult_symbols_quadratic(int,int)] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.quadratic(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.quadratic(int)] -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.unitCostFunction_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test.unitCostFunction_constant()] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.foo_constant(int,int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test_deps.foo_constant(int,int)] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_constant(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Cost_test_deps.if_constant(int)] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_loop_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test_deps.if_loop_constant()] codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_loop_constant():int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_despite_inferbo_constant(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test_deps.loop_despite_inferbo_constant(int)] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep1_constant(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test_deps.loop_no_dep1_constant(int)] codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep1_constant(int):int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep2_constant(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test_deps.loop_no_dep2_constant(int)] codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep2_constant(int):int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.nested_loop_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test_deps.nested_loop_constant()] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.real_while_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test_deps.real_while_constant()] codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.real_while_constant():int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Assignment,,Assignment,Binary operation: ([0, +oo] + [0, 29]):signed32] -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.two_loops_constant():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Cost_test_deps.two_loops_constant()] codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.two_loops_constant():int, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([3, +oo] + 1):signed32] -codetoanalyze/java/performance/EnumTest.java, EnumTest.iterate_enum_constants():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void EnumTest.iterate_enum_constants()] -codetoanalyze/java/performance/EnumTest.java, MyEnum.valueOf(java.lang.String):MyEnum, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function MyEnum MyEnum.valueOf(String)] -codetoanalyze/java/performance/EnumTest.java, MyEnum.values():MyEnum[], 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function MyEnum[] MyEnum.values()] codetoanalyze/java/performance/EvilCfg.java, EvilCfg.foo_FP(int,int,boolean):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/EvilCfg.java, EvilCfg.foo_FP(int,int,boolean):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void EvilCfg.foo_FP(int,int,boolean)] -codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess.iterate_upto_field_size_linear(codetoanalyze.java.performance.FieldAccess$Test):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void FieldAccess.iterate_upto_field_size_linear(FieldAccess$Test)] -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl1.foo(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void InheritanceTest$Impl1.foo(int)] -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl2.foo(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void InheritanceTest$Impl2.foo(int)] -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl.foo(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void InheritanceTest$UniqueImpl.foo(int)] codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl4.top_cost(InheritanceTest$MyInterface3):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl4.top_cost(InheritanceTest$MyInterface3):void, 1, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/IntTest.java, IntTest.control_var_band_add_constant(int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void IntTest.control_var_band_add_constant(int,int)] codetoanalyze/java/performance/IntTest.java, IntTest.control_var_band_add_constant(int,int):void, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Parameter `x`,Binary operation: ([-oo, +oo] + 1):signed32] codetoanalyze/java/performance/IntTest.java, IntTest.control_var_band_add_constant(int,int):void, 6, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Parameter `x`,Binary operation: ([-oo, +oo] + 1):signed32] -codetoanalyze/java/performance/IntTest.java, IntTest.control_var_band_constant(int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void IntTest.control_var_band_constant(int,int)] -codetoanalyze/java/performance/IntTest.java, IntTest.intValue_linear(java.lang.Integer):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void IntTest.intValue_linear(Integer)] codetoanalyze/java/performance/IntTest.java, IntTest.static_Integer_top():void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/IntTest.java, IntTest.static_Integer_top():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void IntTest.static_Integer_top()] codetoanalyze/java/performance/IntTest.java, IntTest.static_Integer_top():void, 1, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/IntTest.java, IntTest.valueOf_linear(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void IntTest.valueOf_linear(int)] -codetoanalyze/java/performance/Invariant.java, Invariant.do_while_invariant(int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Invariant.do_while_invariant(int,int)] codetoanalyze/java/performance/Invariant.java, Invariant.formal_not_invariant_FP(int,int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/Invariant.java, Invariant.formal_not_invariant_FP(int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Invariant.formal_not_invariant_FP(int,int)] codetoanalyze/java/performance/Invariant.java, Invariant.formal_not_invariant_FP(int,int):void, 2, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Parameter `x`,,Parameter `x`,Binary operation: (size + [min(0, x), max(0, x)]):signed32] codetoanalyze/java/performance/Invariant.java, Invariant.formal_not_invariant_FP(int,int):void, 6, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/Invariant.java, Invariant.list_size_invariant(java.util.List):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Invariant.list_size_invariant(List)] -codetoanalyze/java/performance/Invariant.java, Invariant.local_not_invariant_FP(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Invariant.local_not_invariant_FP(int)] -codetoanalyze/java/performance/Invariant.java, Invariant.x_is_invariant_ok(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Invariant.x_is_invariant_ok(int)] -codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.valueOf(java.lang.String):IteratorTest$Color, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function IteratorTest$Color IteratorTest$Color.valueOf(String)] -codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.values():IteratorTest$Color[], 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function IteratorTest$Color[] IteratorTest$Color.values()] -codetoanalyze/java/performance/IteratorTest.java, IteratorTest.enum_iter():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void IteratorTest.enum_iter()] -codetoanalyze/java/performance/IteratorTest.java, IteratorTest.fields_iter():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void IteratorTest.fields_iter()] codetoanalyze/java/performance/JsonArray.java, libraries.marauder.analytics.utils.json.JsonArray.addStringEntry(java.lang.String):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop] codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,boolean):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonMap.addKeyToMap(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop] codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,double):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonMap.addKeyToMap(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop] @@ -175,105 +58,33 @@ codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils. codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,long):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonMap.addKeyToMap(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop] codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addKeyToMap(java.lang.String):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop] codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(java.lang.String), 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to StringBuilder JsonUtils.serialize(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop] -codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.toString():java.lang.String, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function String JsonString.toString()] codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.escape(java.lang.StringBuilder,java.lang.String):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.escape(java.lang.StringBuilder,java.lang.String):void, 1, BUFFER_OVERRUN_U5, no_bucket, ERROR, [,Assignment,,Unknown value from: char[] String.toCharArray(),Array access: Offset: [-oo, +oo] (⇐ [-oo, +oo] + [0, +oo]) Size: [0, +oo]] codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.escape(java.lang.StringBuilder,java.lang.String):void, 1, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.isValidInputType(java.lang.Object):boolean, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function boolean JsonUtils.isValidInputType(Object)] -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(boolean):java.lang.String, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function String JsonUtils.serialize(boolean)] -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(double):java.lang.String, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function String JsonUtils.serialize(double)] -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.Object):java.lang.String, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function String JsonUtils.serialize(Object)] codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.String):java.lang.StringBuilder, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop] codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,java.lang.String):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop] -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(long):java.lang.String, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function String JsonUtils.serialize(long)] -codetoanalyze/java/performance/LambdaTest.java, LambdaTest$Lambda$_2_0.abstractFun(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void LambdaTest$Lambda$_2_0.abstractFun(int)] -codetoanalyze/java/performance/LambdaTest.java, LambdaTest.access_LambdaTest$Lambda$_2_0(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void LambdaTest.access_LambdaTest$Lambda$_2_0(int)] -codetoanalyze/java/performance/LambdaTest.java, LambdaTest.callsite_LambdaTest$Lambda$_2_0():LambdaTestI, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function LambdaTestI LambdaTest.callsite_LambdaTest$Lambda$_2_0()] -codetoanalyze/java/performance/LambdaTest.java, LambdaTest.lambda$call_lambda_FN$0(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void LambdaTest.lambda$call_lambda_FN$0(int)] -codetoanalyze/java/performance/ListTest.java, ListTest.asList_linear(java.lang.String[]):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ListTest.asList_linear(String[])] -codetoanalyze/java/performance/ListTest.java, ListTest.call_iterate_elements_linear(java.util.List,java.util.List):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ListTest.call_iterate_elements_linear(List,List)] -codetoanalyze/java/performance/ListTest.java, ListTest.iter_multiple_list1_linear(java.util.List,java.util.List):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ListTest.iter_multiple_list1_linear(List,List)] -codetoanalyze/java/performance/ListTest.java, ListTest.iter_multiple_list2_linear(java.util.List,java.util.List):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ListTest.iter_multiple_list2_linear(List,List)] -codetoanalyze/java/performance/ListTest.java, ListTest.iter_my_own_obj(java.util.List):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ListTest.iter_my_own_obj(List)] -codetoanalyze/java/performance/ListTest.java, ListTest.iter_relation_with_var(java.util.List):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ListTest.iter_relation_with_var(List)] -codetoanalyze/java/performance/ListTest.java, ListTest.sublist(java.util.List):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ListTest.sublist(List)] -codetoanalyze/java/performance/ListTest.java, ListTest.sublist_constant(java.util.List):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void ListTest.sublist_constant(List)] -codetoanalyze/java/performance/ListTest.java, ListTest.two_lists(java.util.List,java.util.List):java.util.List, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function List ListTest.two_lists(List,List)] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops$MyLinkedList.getNext():codetoanalyze.java.performance.Loops$MyLinkedList, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function Loops$MyLinkedList Loops$MyLinkedList.getNext()] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.do_while_independent_of_p_constant(int):int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Loops.do_while_independent_of_p_constant(int)] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded value x,Call to void Loops.loop_linear(int),Loop] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Loops.length_of_linked_list_linear_FP(Loops$MyLinkedList)] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, 6, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Assignment,Call,,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32 by call to `void Loops.loop_linear(int)` ] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_simple_linear(codetoanalyze.java.performance.Loops$MyLinkedList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Loops.length_of_linked_list_simple_linear(Loops$MyLinkedList)] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.linked_list_model_linear(android.app.Activity):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Loops.linked_list_model_linear(Activity)] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.loop_linear(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Loops.loop_linear(int)] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.modeled_range_linear_FP(java.nio.channels.FileChannel,java.nio.ByteBuffer):void, 9, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 8):signed32] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.nested_do_while_FP(int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.nested_do_while_FP(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Loops.nested_do_while_FP(int)] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.nested_do_while_FP(int):void, 8, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.similar_linear(codetoanalyze.java.performance.Loops$C[],codetoanalyze.java.performance.Loops$C[]):boolean, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function boolean Loops.similar_linear(Loops$C[],Loops$C[])] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.string_length_linear(java.lang.String):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Loops.string_length_linear(String)] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol_FP():void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded value x,Call to void Loops.loop_linear(int),Loop] -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol_FP():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Loops.unboundedSymbol_FP()] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol_FP():void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,,Assignment,Binary operation: ([-oo, +oo] × [-oo, +oo]):signed32] codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol_FP():void, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Assignment,Call,,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32 by call to `void Loops.loop_linear(int)` ] -codetoanalyze/java/performance/MapTest.java, MapTest.entrySet_linear(java.util.Map):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MapTest.entrySet_linear(Map)] -codetoanalyze/java/performance/MapTest.java, MapTest.keySet_linear(java.util.Map):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MapTest.keySet_linear(Map)] -codetoanalyze/java/performance/MapTest.java, MapTest.putAll_linear(java.util.Map):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MapTest.putAll_linear(Map)] -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_max2_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MathTest.call_max2_constant()] -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_with_max_linear(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MathTest.call_with_max_linear(int)] -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_with_min_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MathTest.call_with_min_constant()] -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.linear(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MathTest.linear(int)] -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.max2_symbolic(int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MathTest.max2_symbolic(int,int)] -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.max_symbolic(int[]):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MathTest.max_symbolic(int[])] -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.min_constant(int[]):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void MathTest.min_constant(int[])] -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkArgument_constant(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void PreconditionTest.checkArgument_constant(ArrayList)] -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkNotNull_linear(java.util.ArrayList,java.lang.Object):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void PreconditionTest.checkNotNull_linear(ArrayList,Object)] -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkState_constant(java.util.ArrayList):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void PreconditionTest.checkState_constant(ArrayList)] -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.constant_array(int[]):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void PreconditionTest.constant_array(int[])] -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.append_linear(java.lang.String):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringBuilderTest.append_linear(String)] -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_capacity_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringBuilderTest.new_capacity_constant()] -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringBuilderTest.new_constant()] -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_linear(java.lang.String):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringBuilderTest.new_linear(String)] -codetoanalyze/java/performance/StringTest.java, StringTest.byte_array_constructor_linear(byte[]):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringTest.byte_array_constructor_linear(byte[])] -codetoanalyze/java/performance/StringTest.java, StringTest.call_string_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringTest.call_string_constant()] -codetoanalyze/java/performance/StringTest.java, StringTest.call_string_constructor_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringTest.call_string_constructor_constant()] -codetoanalyze/java/performance/StringTest.java, StringTest.class_get_canonical_name_constant(java.lang.Integer):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringTest.class_get_canonical_name_constant(Integer)] codetoanalyze/java/performance/StringTest.java, StringTest.class_get_canonical_name_constant(java.lang.Integer):void, 1, BUFFER_OVERRUN_U5, no_bucket, ERROR, [,Unknown value from: Class Object.getClass(),Assignment,Array access: Offset: [-oo, +oo] Size: [0, +oo]] -codetoanalyze/java/performance/StringTest.java, StringTest.startsWith_constant():java.lang.String, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function String StringTest.startsWith_constant()] -codetoanalyze/java/performance/StringTest.java, StringTest.string_constructor_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringTest.string_constructor_constant()] -codetoanalyze/java/performance/StringTest.java, StringTest.string_constructor_linear(java.lang.String):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringTest.string_constructor_linear(String)] -codetoanalyze/java/performance/StringTest.java, StringTest.substring_linear(java.lang.String,int,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringTest.substring_linear(String,int,int)] -codetoanalyze/java/performance/StringTest.java, StringTest.substring_no_end_linear(java.lang.String,int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void StringTest.substring_no_end_linear(String,int)] -codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.test_switch():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int Switch.test_switch()] codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.test_switch():int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.vanilla_switch(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void Switch.vanilla_switch(int)] codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.vanilla_switch(int):void, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here] -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UIAnnotationTest$Annotations.constant()] -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.loop_UIThread_linear(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UIAnnotationTest$Annotations.loop_UIThread_linear(int)] -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.loop_linear(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UIAnnotationTest$Annotations.loop_linear(int)] -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.onBindMethod_linear(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UIAnnotationTest$Annotations.onBindMethod_linear(int)] -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.onClick_linear(int):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UIAnnotationTest$Annotations.onClick_linear(int)] -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$WeirdAnnotation.foo_linear():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UIAnnotationTest$WeirdAnnotation.foo_linear()] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, 2, BUFFER_OVERRUN_U5, no_bucket, ERROR, [,Unknown value from: int[] UnknownCallsTest$AbstractC.abstract_func(),Assignment,Array access: Offset: [-oo, +oo] Size: [0, +oo]] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, 2, INTEGER_OVERFLOW_U5, no_bucket, ERROR, [,Unknown value from: int[] UnknownCallsTest$AbstractC.abstract_func(),Binary operation: ([0, +oo] + 1):signed32] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void UnknownCallsTest.loop_over_charArray_FP(StringBuilder,String),Unbounded loop,Loop] -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_may_throw_exception_constant():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UnknownCallsTest.call_may_throw_exception_constant()] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_throw_exception_unknown():void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_throw_exception_unknown():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UnknownCallsTest.call_throw_exception_unknown()] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_throw_exception_unknown():void, 1, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.jsonArray_linear(org.json.JSONArray):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UnknownCallsTest.jsonArray_linear(JSONArray)] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, 1, BUFFER_OVERRUN_U5, no_bucket, ERROR, [,Assignment,,Unknown value from: char[] String.toCharArray(),Array access: Offset: [-oo, +oo] (⇐ [-oo, +oo] + [0, +oo]) Size: [0, +oo]] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, 1, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [,Assignment,Binary operation: ([0, +oo] + 1):signed32] -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.may_throw_exception():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int UnknownCallsTest.may_throw_exception()] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.may_throw_exception():int, 2, UNREACHABLE_CODE, no_bucket, ERROR, [Here] -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.throw_exception():int, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function int UnknownCallsTest.throw_exception()] codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.throw_exception():int, 1, UNREACHABLE_CODE, no_bucket, ERROR, [Here] -codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.double_prune_unreachable_FN(double):void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UnreachableAtExitTest.double_prune_unreachable_FN(double)] codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.infeasible_path_unreachable():void, 0, EXECUTION_TIME_UNREACHABLE_AT_EXIT, no_bucket, ERROR, [Unreachable node] -codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.infeasible_path_unreachable():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UnreachableAtExitTest.infeasible_path_unreachable()] codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.infeasible_path_unreachable():void, 1, UNREACHABLE_CODE, no_bucket, ERROR, [Here] -codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.unit_cost():void, 0, PURE_FUNCTION, no_bucket, ERROR, [Side-effect free function void UnreachableAtExitTest.unit_cost()]