diff --git a/infer/src/atd/jsonbug.atd b/infer/src/atd/jsonbug.atd index dde6c2962..a796095eb 100644 --- a/infer/src/atd/jsonbug.atd +++ b/infer/src/atd/jsonbug.atd @@ -79,6 +79,7 @@ type cost_info = { polynomial : string; ?degree : int option; hum : hum_info; + trace : json_trace_item list; } diff --git a/infer/src/base/CostIssuesTestField.ml b/infer/src/base/CostIssuesTestField.ml index 2962fc8ce..fa600c5a4 100644 --- a/infer/src/base/CostIssuesTestField.ml +++ b/infer/src/base/CostIssuesTestField.ml @@ -7,4 +7,6 @@ open! IStd -type t = IsOnUIThread | Procedure | File | Cost [@@deriving equal] +type t = IsOnUIThread | Procedure | File | Cost | Trace [@@deriving equal] + +let all_fields = [File; Procedure; Cost; IsOnUIThread; Trace] diff --git a/infer/src/base/CostIssuesTestField.mli b/infer/src/base/CostIssuesTestField.mli index 2962fc8ce..02a47697b 100644 --- a/infer/src/base/CostIssuesTestField.mli +++ b/infer/src/base/CostIssuesTestField.mli @@ -7,4 +7,6 @@ open! IStd -type t = IsOnUIThread | Procedure | File | Cost [@@deriving equal] +type t = IsOnUIThread | Procedure | File | Cost | Trace [@@deriving equal] + +val all_fields : t list diff --git a/infer/src/cost/costDomain.ml b/infer/src/cost/costDomain.ml index e304a8203..4aa56bbe8 100644 --- a/infer/src/cost/costDomain.ml +++ b/infer/src/cost/costDomain.ml @@ -13,7 +13,7 @@ module BasicCost = struct (* NOTE: Increment the version number if you changed the [t] type. This is for avoiding demarshalling failure of cost analysis results in running infer-reportdiff. *) - let version = 6 + let version = 7 end (** Module to simulate a record diff --git a/infer/src/infer.ml b/infer/src/infer.ml index 9bb567e9e..04589ff99 100644 --- a/infer/src/infer.ml +++ b/infer/src/infer.ml @@ -157,7 +157,7 @@ let () = in let write_from_cost_json out_path = CostIssuesTest.write_from_json ~json_path:Config.from_json_costs_report ~out_path - CostIssuesTestField.[File; Procedure; Cost; IsOnUIThread] + CostIssuesTestField.all_fields in match (Config.issues_tests, Config.cost_issues_tests) with | None, None -> diff --git a/infer/src/integration/CostIssuesTest.ml b/infer/src/integration/CostIssuesTest.ml index e2bf765c0..ac2424d52 100644 --- a/infer/src/integration/CostIssuesTest.ml +++ b/infer/src/integration/CostIssuesTest.ml @@ -22,6 +22,8 @@ let pp_custom_of_cost_report fmt report cost_fields = F.fprintf fmt "%s%s" (comma_separator index) cost_item.exec_cost.hum.hum_polynomial | IsOnUIThread -> F.fprintf fmt "%s OnUIThread:%b" (comma_separator index) cost_item.is_on_ui_thread + | Trace -> + IssuesTest.pp_trace fmt cost_item.exec_cost.trace (comma_separator index) in List.iteri ~f:pp_cost_field cost_fields ; F.fprintf fmt "@." diff --git a/infer/src/integration/IssuesTest.ml b/infer/src/integration/IssuesTest.ml index 305d2d9cc..e241cda31 100644 --- a/infer/src/integration/IssuesTest.ml +++ b/infer/src/integration/IssuesTest.ml @@ -22,17 +22,18 @@ let pp_nullsafe_extra fmt Jsonbug_t.{class_name; package; meta_issue_info} = can_be_promoted_to_str ) +let pp_trace fmt trace comma = + let pp_trace_elem fmt Jsonbug_t.{description} = F.pp_print_string fmt description in + let trace_without_empty_descs = + List.filter ~f:(fun Jsonbug_t.{description} -> not (String.is_empty description)) trace + in + F.fprintf fmt "%s[%a]" comma (Pp.comma_seq pp_trace_elem) trace_without_empty_descs + + let pp_custom_of_report fmt report fields = let pp_custom_of_issue fmt (issue : Jsonbug_t.jsonbug) = let open Jsonbug_t in let comma_separator index = if index > 0 then ", " else "" in - let pp_trace fmt trace comma = - let pp_trace_elem fmt {description} = F.pp_print_string fmt description in - let trace_without_empty_descs = - List.filter ~f:(fun {description} -> not (String.is_empty description)) trace - in - F.fprintf fmt "%s[%a]" comma (Pp.comma_seq pp_trace_elem) trace_without_empty_descs - in let pp_field index field = match (field : IssuesTestField.t) with | BugType -> diff --git a/infer/src/integration/IssuesTest.mli b/infer/src/integration/IssuesTest.mli index 0b546c0c4..691a55135 100644 --- a/infer/src/integration/IssuesTest.mli +++ b/infer/src/integration/IssuesTest.mli @@ -8,3 +8,5 @@ open! IStd val write_from_json : json_path:string -> out_path:string -> IssuesTestField.t list -> unit + +val pp_trace : Format.formatter -> Jsonbug_t.json_trace_item list -> string -> unit diff --git a/infer/src/integration/JsonReports.ml b/infer/src/integration/JsonReports.ml index a4ca0297b..7145a8d40 100644 --- a/infer/src/integration/JsonReports.ml +++ b/infer/src/integration/JsonReports.ml @@ -256,7 +256,11 @@ module JsonCostsPrinter = MakeJsonListPrinter (struct ; polynomial= CostDomain.BasicCost.encode cost ; degree= Option.map (CostDomain.BasicCost.degree cost) ~f:Polynomials.Degree.encode_to_int - ; hum= hum cost } + ; hum= hum cost + ; trace= + loc_trace_to_jsonbug_record + (CostDomain.BasicCost.polynomial_traces cost) + Exceptions.Advice } in let cost_item = let file = diff --git a/infer/tests/codetoanalyze/c/performance/cost-issues.exp b/infer/tests/codetoanalyze/c/performance/cost-issues.exp index e8b6bfa12..3407257e1 100644 --- a/infer/tests/codetoanalyze/c/performance/cost-issues.exp +++ b/infer/tests/codetoanalyze/c/performance/cost-issues.exp @@ -1,79 +1,79 @@ -codetoanalyze/c/performance/break.c, break_constant_FP, 8 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false -codetoanalyze/c/performance/break.c, break_loop, 5 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false -codetoanalyze/c/performance/break.c, break_loop_with_t, 7 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false -codetoanalyze/c/performance/compound_loop_guard.c, compound_while, 7 + 3 ⋅ m + 4 ⋅ (1+max(0, m)), OnUIThread:false -codetoanalyze/c/performance/compound_loop_guard.c, nested_while_and_or, 20, OnUIThread:false -codetoanalyze/c/performance/compound_loop_guard.c, simplified_simulated_while_with_and, 605, OnUIThread:false -codetoanalyze/c/performance/compound_loop_guard.c, simulated_nested_loop_with_and, 3529, OnUIThread:false -codetoanalyze/c/performance/compound_loop_guard.c, simulated_while_shortcut, 9, OnUIThread:false -codetoanalyze/c/performance/compound_loop_guard.c, simulated_while_with_and, 6 + 3 ⋅ p + 4 ⋅ (1+max(0, p)), OnUIThread:false -codetoanalyze/c/performance/compound_loop_guard.c, while_and_or, ⊤, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, alias2_OK, 7, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, alias_OK, 6, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, always, 9, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, bar_OK, 19, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, call_infinite, ⊤, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, call_while_upto20_10_good, 56, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, call_while_upto20_minus100_bad, 606, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, call_while_upto20_unsigned_good, 6 + 4 ⋅ (-x + 20) + (21-min(20, x)), OnUIThread:false -codetoanalyze/c/performance/cost_test.c, cond_OK, 27, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, div_const, 3, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, foo_OK, 6, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, ignore_character_symbols_constant_FP, 5 + 4 ⋅ (122-min(97, c)), OnUIThread:false -codetoanalyze/c/performance/cost_test.c, infinite, ⊤, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, infinite_FN, 19, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, iter_div_const_constant, 109, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, loop0_bad, 1105, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, loop1_bad, 1207, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, loop2_bad, 4 + 10 ⋅ k + 2 ⋅ (1+max(0, k)), OnUIThread:false -codetoanalyze/c/performance/cost_test.c, loop3_bad, 187, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, main_bad, 241, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, unit_cost_function, 1, OnUIThread:false -codetoanalyze/c/performance/cost_test.c, while_upto20_bad, 4 + 4 ⋅ (-m + 20) + (21-min(20, m)), OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, foo, 4, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, if_bad, 75, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, if_bad_loop, 203, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, loop_despite_inferbo, 1208, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep1, 609, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep2, 614, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, nested_loop, 2547, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, real_while, 218, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop, 2529, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop_cond_in_goto, 3534, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop_more_expensive, 2534, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, simulated_while, 218, OnUIThread:false -codetoanalyze/c/performance/cost_test_deps.c, two_loops, 549, OnUIThread:false -codetoanalyze/c/performance/exit.c, call_exit_unreachable_unreachable, ⊥, OnUIThread:false -codetoanalyze/c/performance/exit.c, call_unreachable_constant, 1, OnUIThread:false -codetoanalyze/c/performance/exit.c, compute_exit_unreachable_unreachable, ⊥, OnUIThread:false -codetoanalyze/c/performance/exit.c, exit_unreachable_unreachable, ⊥, OnUIThread:false -codetoanalyze/c/performance/exit.c, inline_exit_unreachable_FP, 3 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false -codetoanalyze/c/performance/exit.c, linear, 3 + 3 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false -codetoanalyze/c/performance/instantiate.c, do_2K_times_Bad, 14006, OnUIThread:false -codetoanalyze/c/performance/instantiate.c, do_2_times_Good, 20, OnUIThread:false -codetoanalyze/c/performance/instantiate.c, do_half_m2_times, 3 + 5 ⋅ (m - 1) × m + 7 ⋅ m + 2 ⋅ m × (max(1, m)) + 2 ⋅ (1+max(0, m)), OnUIThread:false -codetoanalyze/c/performance/instantiate.c, do_m2_times, 3 + 7 ⋅ m + 5 ⋅ m × m + 2 ⋅ m × (1+max(0, m)) + 2 ⋅ (1+max(0, m)), OnUIThread:false -codetoanalyze/c/performance/instantiate.c, do_n_times, 3 + 5 ⋅ n + 2 ⋅ (1+max(0, n)), OnUIThread:false -codetoanalyze/c/performance/instantiate.c, no_op, 2, OnUIThread:false -codetoanalyze/c/performance/invariant.c, do_k_times, 5 + 3 ⋅ n + 2 ⋅ (1+max(0, n)), OnUIThread:false -codetoanalyze/c/performance/invariant.c, do_k_times_array, 5 + 6 ⋅ n + 2 ⋅ (1+max(0, n)), OnUIThread:false -codetoanalyze/c/performance/invariant.c, do_n_m_times_nested, 7 + 5 ⋅ n + 3 ⋅ n × m + 2 ⋅ n × (1+max(0, m)) + 2 ⋅ (1+max(0, n)), OnUIThread:false -codetoanalyze/c/performance/invariant.c, two_loops_nested_invariant, 6 + 23 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false -codetoanalyze/c/performance/invariant.c, while_infinite_FN, 2, OnUIThread:false -codetoanalyze/c/performance/invariant.c, while_unique_def_FN, 15, OnUIThread:false -codetoanalyze/c/performance/jump_inside_loop.c, jump_inside_loop, 2008, OnUIThread:false -codetoanalyze/c/performance/jump_inside_loop.c, loop_always, 28, OnUIThread:false -codetoanalyze/c/performance/loops.c, __infer_globals_initializer_array1, 4, OnUIThread:false -codetoanalyze/c/performance/loops.c, __infer_globals_initializer_array2, 2, OnUIThread:false -codetoanalyze/c/performance/loops.c, do_while_independent_of_p, 228, OnUIThread:false -codetoanalyze/c/performance/loops.c, if_in_loop, 324, OnUIThread:false -codetoanalyze/c/performance/loops.c, if_out_loop, 515, OnUIThread:false -codetoanalyze/c/performance/loops.c, larger_state_FN, 1005, OnUIThread:false -codetoanalyze/c/performance/loops.c, loop_use_global_vars, 4 + 4 ⋅ x + 2 ⋅ (1+max(0, x)), OnUIThread:false -codetoanalyze/c/performance/loops.c, ptr_cmp, 5 + 5 ⋅ size + 2 ⋅ (2+max(-1, size)), OnUIThread:false -codetoanalyze/c/performance/purity.c, loop, 7007, OnUIThread:false -codetoanalyze/c/performance/switch_continue.c, test_switch, 601, OnUIThread:false -codetoanalyze/c/performance/switch_continue.c, unroll_loop, 16 + (n - 1) + 11 ⋅ (max(1, n)), OnUIThread:false -codetoanalyze/c/performance/two_loops_symbolic.c, nop, 2, OnUIThread:false -codetoanalyze/c/performance/two_loops_symbolic.c, two_loops_symb, 8 + 5 ⋅ m + 5 ⋅ m + 2 ⋅ (1+max(0, m)) + 2 ⋅ (1+max(0, m)), OnUIThread:false -codetoanalyze/c/performance/two_loops_symbolic.c, two_loops_symb_diff, 8 + 5 ⋅ k + 5 ⋅ m + 2 ⋅ (1+max(0, k)) + 2 ⋅ (1+max(0, m)), OnUIThread:false +codetoanalyze/c/performance/break.c, break_constant_FP, 8 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false, [{1+max(0, p)},call to break_loop,Loop at line 10, column 3,{p},call to break_loop,Loop at line 10, column 3] +codetoanalyze/c/performance/break.c, break_loop, 5 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false, [{1+max(0, p)},Loop at line 10, column 3,{p},Loop at line 10, column 3] +codetoanalyze/c/performance/break.c, break_loop_with_t, 7 + 5 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false, [{1+max(0, p)},Loop at line 22, column 3,{p},Loop at line 22, column 3] +codetoanalyze/c/performance/compound_loop_guard.c, compound_while, 7 + 3 ⋅ m + 4 ⋅ (1+max(0, m)), OnUIThread:false, [{1+max(0, m)},Loop at line 13, column 3,{m},Loop at line 13, column 3] +codetoanalyze/c/performance/compound_loop_guard.c, nested_while_and_or, 20, OnUIThread:false, [] +codetoanalyze/c/performance/compound_loop_guard.c, simplified_simulated_while_with_and, 605, OnUIThread:false, [] +codetoanalyze/c/performance/compound_loop_guard.c, simulated_nested_loop_with_and, 3529, OnUIThread:false, [] +codetoanalyze/c/performance/compound_loop_guard.c, simulated_while_shortcut, 9, OnUIThread:false, [] +codetoanalyze/c/performance/compound_loop_guard.c, simulated_while_with_and, 6 + 3 ⋅ p + 4 ⋅ (1+max(0, p)), OnUIThread:false, [{1+max(0, p)},Loop at line 43, column 3,{p},Loop at line 43, column 3] +codetoanalyze/c/performance/compound_loop_guard.c, while_and_or, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 63, column 3] +codetoanalyze/c/performance/cost_test.c, alias2_OK, 7, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, alias_OK, 6, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, always, 9, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, bar_OK, 19, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, call_infinite, ⊤, OnUIThread:false, [Call to infinite,Unbounded loop,Loop at line 146, column 3] +codetoanalyze/c/performance/cost_test.c, call_while_upto20_10_good, 56, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, call_while_upto20_minus100_bad, 606, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, call_while_upto20_unsigned_good, 6 + 4 ⋅ (-x + 20) + (21-min(20, x)), OnUIThread:false, [{21-min(20, x)},call to while_upto20_bad,Loop at line 119, column 3,{-x + 20},call to while_upto20_bad,Loop at line 119, column 3] +codetoanalyze/c/performance/cost_test.c, cond_OK, 27, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, div_const, 3, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, foo_OK, 6, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, ignore_character_symbols_constant_FP, 5 + 4 ⋅ (122-min(97, c)), OnUIThread:false, [{122-min(97, c)},Loop at line 155, column 3] +codetoanalyze/c/performance/cost_test.c, infinite, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 146, column 3] +codetoanalyze/c/performance/cost_test.c, infinite_FN, 19, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, iter_div_const_constant, 109, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, loop0_bad, 1105, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, loop1_bad, 1207, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, loop2_bad, 4 + 10 ⋅ k + 2 ⋅ (1+max(0, k)), OnUIThread:false, [{1+max(0, k)},Loop at line 87, column 3,{k},Loop at line 87, column 3] +codetoanalyze/c/performance/cost_test.c, loop3_bad, 187, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, main_bad, 241, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, unit_cost_function, 1, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test.c, while_upto20_bad, 4 + 4 ⋅ (-m + 20) + (21-min(20, m)), OnUIThread:false, [{21-min(20, m)},Loop at line 119, column 3,{-m + 20},Loop at line 119, column 3] +codetoanalyze/c/performance/cost_test_deps.c, foo, 4, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, if_bad, 75, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, if_bad_loop, 203, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, loop_despite_inferbo, 1208, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep1, 609, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, loop_no_dep2, 614, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, nested_loop, 2547, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, real_while, 218, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop, 2529, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop_cond_in_goto, 3534, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, simulated_nested_loop_more_expensive, 2534, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, simulated_while, 218, OnUIThread:false, [] +codetoanalyze/c/performance/cost_test_deps.c, two_loops, 549, OnUIThread:false, [] +codetoanalyze/c/performance/exit.c, call_exit_unreachable_unreachable, ⊥, OnUIThread:false, [Unreachable node] +codetoanalyze/c/performance/exit.c, call_unreachable_constant, 1, OnUIThread:false, [] +codetoanalyze/c/performance/exit.c, compute_exit_unreachable_unreachable, ⊥, OnUIThread:false, [Unreachable node] +codetoanalyze/c/performance/exit.c, exit_unreachable_unreachable, ⊥, OnUIThread:false, [Unreachable node] +codetoanalyze/c/performance/exit.c, inline_exit_unreachable_FP, 3 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false, [{1+max(0, p)},Loop at line 30, column 3,{p},Loop at line 30, column 3] +codetoanalyze/c/performance/exit.c, linear, 3 + 3 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false, [{1+max(0, p)},Loop at line 18, column 3,{p},Loop at line 18, column 3] +codetoanalyze/c/performance/instantiate.c, do_2K_times_Bad, 14006, OnUIThread:false, [] +codetoanalyze/c/performance/instantiate.c, do_2_times_Good, 20, OnUIThread:false, [] +codetoanalyze/c/performance/instantiate.c, do_half_m2_times, 3 + 5 ⋅ (m - 1) × m + 7 ⋅ m + 2 ⋅ m × (max(1, m)) + 2 ⋅ (1+max(0, m)), OnUIThread:false, [{1+max(0, m)},Loop at line 31, column 3,{max(1, m)},call to do_n_times,Loop at line 12, column 3,{m},Loop at line 31, column 3,{m},Loop at line 31, column 3,{m - 1},call to do_n_times,Loop at line 12, column 3] +codetoanalyze/c/performance/instantiate.c, do_m2_times, 3 + 7 ⋅ m + 5 ⋅ m × m + 2 ⋅ m × (1+max(0, m)) + 2 ⋅ (1+max(0, m)), OnUIThread:false, [{1+max(0, m)},Loop at line 24, column 3,{1+max(0, m)},call to do_n_times,Loop at line 12, column 3,{m},call to do_n_times,Loop at line 12, column 3,{m},Loop at line 24, column 3] +codetoanalyze/c/performance/instantiate.c, do_n_times, 3 + 5 ⋅ n + 2 ⋅ (1+max(0, n)), OnUIThread:false, [{1+max(0, n)},Loop at line 12, column 3,{n},Loop at line 12, column 3] +codetoanalyze/c/performance/instantiate.c, no_op, 2, OnUIThread:false, [] +codetoanalyze/c/performance/invariant.c, do_k_times, 5 + 3 ⋅ n + 2 ⋅ (1+max(0, n)), OnUIThread:false, [{1+max(0, n)},Loop at line 23, column 3,{n},Loop at line 23, column 3] +codetoanalyze/c/performance/invariant.c, do_k_times_array, 5 + 6 ⋅ n + 2 ⋅ (1+max(0, n)), OnUIThread:false, [{1+max(0, n)},Loop at line 31, column 3,{n},Loop at line 31, column 3] +codetoanalyze/c/performance/invariant.c, do_n_m_times_nested, 7 + 5 ⋅ n + 3 ⋅ n × m + 2 ⋅ n × (1+max(0, m)) + 2 ⋅ (1+max(0, n)), OnUIThread:false, [{1+max(0, n)},Loop at line 40, column 3,{1+max(0, m)},Loop at line 41, column 5,{m},Loop at line 41, column 5,{n},Loop at line 40, column 3] +codetoanalyze/c/performance/invariant.c, two_loops_nested_invariant, 6 + 23 ⋅ p + 2 ⋅ (1+max(0, p)), OnUIThread:false, [{1+max(0, p)},Loop at line 50, column 3,{p},Loop at line 50, column 3] +codetoanalyze/c/performance/invariant.c, while_infinite_FN, 2, OnUIThread:false, [] +codetoanalyze/c/performance/invariant.c, while_unique_def_FN, 15, OnUIThread:false, [] +codetoanalyze/c/performance/jump_inside_loop.c, jump_inside_loop, 2008, OnUIThread:false, [] +codetoanalyze/c/performance/jump_inside_loop.c, loop_always, 28, OnUIThread:false, [] +codetoanalyze/c/performance/loops.c, __infer_globals_initializer_array1, 4, OnUIThread:false, [] +codetoanalyze/c/performance/loops.c, __infer_globals_initializer_array2, 2, OnUIThread:false, [] +codetoanalyze/c/performance/loops.c, do_while_independent_of_p, 228, OnUIThread:false, [] +codetoanalyze/c/performance/loops.c, if_in_loop, 324, OnUIThread:false, [] +codetoanalyze/c/performance/loops.c, if_out_loop, 515, OnUIThread:false, [] +codetoanalyze/c/performance/loops.c, larger_state_FN, 1005, OnUIThread:false, [] +codetoanalyze/c/performance/loops.c, loop_use_global_vars, 4 + 4 ⋅ x + 2 ⋅ (1+max(0, x)), OnUIThread:false, [{1+max(0, x)},Loop at line 69, column 3,{x},Loop at line 69, column 3] +codetoanalyze/c/performance/loops.c, ptr_cmp, 5 + 5 ⋅ size + 2 ⋅ (2+max(-1, size)), OnUIThread:false, [{2+max(-1, size)},Loop at line 76, column 3,{size},Loop at line 76, column 3] +codetoanalyze/c/performance/purity.c, loop, 7007, OnUIThread:false, [] +codetoanalyze/c/performance/switch_continue.c, test_switch, 601, OnUIThread:false, [] +codetoanalyze/c/performance/switch_continue.c, unroll_loop, 16 + (n - 1) + 11 ⋅ (max(1, n)), OnUIThread:false, [{max(1, n)},Loop at line 43, column 11,{n - 1},Loop at line 43, column 11] +codetoanalyze/c/performance/two_loops_symbolic.c, nop, 2, OnUIThread:false, [] +codetoanalyze/c/performance/two_loops_symbolic.c, two_loops_symb, 8 + 5 ⋅ m + 5 ⋅ m + 2 ⋅ (1+max(0, m)) + 2 ⋅ (1+max(0, m)), OnUIThread:false, [{1+max(0, m)},Loop at line 16, column 3,{1+max(0, m)},Loop at line 13, column 3,{m},Loop at line 16, column 3,{m},Loop at line 13, column 3] +codetoanalyze/c/performance/two_loops_symbolic.c, two_loops_symb_diff, 8 + 5 ⋅ k + 5 ⋅ m + 2 ⋅ (1+max(0, k)) + 2 ⋅ (1+max(0, m)), OnUIThread:false, [{1+max(0, m)},Loop at line 25, column 3,{1+max(0, k)},Loop at line 28, column 3,{m},Loop at line 25, column 3,{k},Loop at line 28, column 3] diff --git a/infer/tests/codetoanalyze/java/fb-performance/cost-issues.exp b/infer/tests/codetoanalyze/java/fb-performance/cost-issues.exp index 145a61d53..890c3f9dd 100644 --- a/infer/tests/codetoanalyze/java/fb-performance/cost-issues.exp +++ b/infer/tests/codetoanalyze/java/fb-performance/cost-issues.exp @@ -1,7 +1,7 @@ -../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.(), 3, OnUIThread:false -../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.appendSegmentFormat(java.lang.StringBuilder,java.lang.String,int,java.lang.Object,boolean):int, 2, OnUIThread:false -../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.call_appendSegmentFormat_linear(java.lang.StringBuilder,java.lang.String,int,java.lang.Object,boolean):void, 7 + (-startIdx + format.length), OnUIThread:false -../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.call_doFormatArgs_linear(java.lang.StringBuilder,java.lang.String,int,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):void, 9 + format.length, OnUIThread:false -../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.call_doFormatArray_linear(java.lang.StringBuilder,java.lang.String,java.lang.Object[]):void, 5 + format.length, OnUIThread:false -../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.doFormatArgs(java.lang.StringBuilder,java.lang.String,int,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):int, 2, OnUIThread:false -../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.doFormatArray(java.lang.StringBuilder,java.lang.String,java.lang.Object[]):int, 2, OnUIThread:false +../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.(), 3, OnUIThread:false, [] +../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.appendSegmentFormat(java.lang.StringBuilder,java.lang.String,int,java.lang.Object,boolean):int, 2, OnUIThread:false, [] +../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.call_appendSegmentFormat_linear(java.lang.StringBuilder,java.lang.String,int,java.lang.Object,boolean):void, 7 + (-startIdx + format.length), OnUIThread:false, [{-startIdx + format.length},Modeled call to Stringformat.appendSegmentFormat] +../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.call_doFormatArgs_linear(java.lang.StringBuilder,java.lang.String,int,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):void, 9 + format.length, OnUIThread:false, [{format.length},Modeled call to Stringformat.doFormatArgs] +../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.call_doFormatArray_linear(java.lang.StringBuilder,java.lang.String,java.lang.Object[]):void, 5 + format.length, OnUIThread:false, [{format.length},Modeled call to Stringformat.doFormatArray] +../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.doFormatArgs(java.lang.StringBuilder,java.lang.String,int,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):int, 2, OnUIThread:false, [] +../../facebook/skel/infer/tests/codetoanalyze/java/fb-performance/StringFormatUtil.java, com.facebook.common.stringformat.StringFormatUtil.doFormatArray(java.lang.StringBuilder,java.lang.String,java.lang.Object[]):int, 2, OnUIThread:false, [] diff --git a/infer/tests/codetoanalyze/java/performance-exclusive/cost-issues.exp b/infer/tests/codetoanalyze/java/performance-exclusive/cost-issues.exp index 13f7f0000..e757cc9f7 100644 --- a/infer/tests/codetoanalyze/java/performance-exclusive/cost-issues.exp +++ b/infer/tests/codetoanalyze/java/performance-exclusive/cost-issues.exp @@ -1,4 +1,4 @@ -codetoanalyze/java/performance-exclusive/ExclusiveTest.java, ExclusiveTest.(), 2, OnUIThread:false -codetoanalyze/java/performance-exclusive/ExclusiveTest.java, ExclusiveTest.call_linear_exclusive_constant(int):void, 3, OnUIThread:false -codetoanalyze/java/performance-exclusive/ExclusiveTest.java, ExclusiveTest.call_linear_exclusive_linear(int):void, 5 + 7 ⋅ x, OnUIThread:false -codetoanalyze/java/performance-exclusive/ExclusiveTest.java, ExclusiveTest.linear(int):void, 5 + 5 ⋅ x, OnUIThread:false +codetoanalyze/java/performance-exclusive/ExclusiveTest.java, ExclusiveTest.(), 2, OnUIThread:false, [] +codetoanalyze/java/performance-exclusive/ExclusiveTest.java, ExclusiveTest.call_linear_exclusive_constant(int):void, 3, OnUIThread:false, [] +codetoanalyze/java/performance-exclusive/ExclusiveTest.java, ExclusiveTest.call_linear_exclusive_linear(int):void, 5 + 7 ⋅ x, OnUIThread:false, [{x},Loop at line 18] +codetoanalyze/java/performance-exclusive/ExclusiveTest.java, ExclusiveTest.linear(int):void, 5 + 5 ⋅ x, OnUIThread:false, [{x},Loop at line 10] diff --git a/infer/tests/codetoanalyze/java/performance/cost-issues.exp b/infer/tests/codetoanalyze/java/performance/cost-issues.exp index 644630a9b..c852d1ea5 100644 --- a/infer/tests/codetoanalyze/java/performance/cost-issues.exp +++ b/infer/tests/codetoanalyze/java/performance/cost-issues.exp @@ -1,361 +1,361 @@ -codetoanalyze/java/performance/A.java, A.(), 3, OnUIThread:false -codetoanalyze/java/performance/A.java, B$BArray.(B), 6, OnUIThread:false -codetoanalyze/java/performance/A.java, B$BArray.error():void, 11, OnUIThread:false -codetoanalyze/java/performance/A.java, B$BArray.ok():void, 5, OnUIThread:false -codetoanalyze/java/performance/A.java, B.(), 3, OnUIThread:false -codetoanalyze/java/performance/A.java, B.error():void, 21, OnUIThread:false -codetoanalyze/java/performance/A.java, B.ok():void, 6, OnUIThread:false -codetoanalyze/java/performance/AndroidXCollectionTest.java, AndroidXCollectionTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/AndroidXCollectionTest.java, AndroidXCollectionTest.call_iterate_over_sparsearraycompat_const():void, 24, OnUIThread:false -codetoanalyze/java/performance/AndroidXCollectionTest.java, AndroidXCollectionTest.iterate_over_sparsearraycompat_linear(androidx.collection.SparseArrayCompat):void, 8 + 5 ⋅ sa.length, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.():void, 9, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.(), 3, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_good():void, 70, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_overrun_bad():void, 70, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_weird_ok(long[],int):void, 5 + 13 ⋅ length, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.binary_search_log(java.lang.String[]):int, 5 + log(arr.length), OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.bsearch_log(int):void, 6 + log(i), OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types(int):void, 19 + 6 ⋅ x + 5 ⋅ x, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types_linear_FP(int,int):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.copyOf_constant(java.lang.String[]):void, 16, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.copyOf_linear(java.lang.String[]):void, 17 + 9 ⋅ arr.length + arr.length, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.fill_big_constant():void, 307, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.fill_linear(java.lang.String[]):void, 2 + arr.length, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.gen_and_iter_types(int):java.lang.String[], 10 + 5 ⋅ length, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.init_array_linear():void, 2568, OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.sort_array_nlogn(int):void, 5 + size × log(size), OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.toArray_linear(java.util.ArrayList):void, 6 + 6 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.use_static_final_array_field_constant():void, 18, OnUIThread:false -codetoanalyze/java/performance/ArrayCost.java, ArrayCost.(), 3, OnUIThread:false -codetoanalyze/java/performance/ArrayCost.java, ArrayCost.ArrayCost(int[]):void, 8 + 5 ⋅ mag.length, OnUIThread:false -codetoanalyze/java/performance/ArrayCost.java, ArrayCost.isPowOfTwo_FP(int):boolean, 895, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest$Elt.(ArrayListTest), 6, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest$Elt.get_boolean():boolean, 4, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.(), 15, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.array_get_elem_constant():void, 81, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add3_overrun_bad():void, 27, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_addAll_bad():void, 39, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_in_loop():void, 174, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_in_loop_ok():void, 187, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_in_nested_loop_constant():void, 1774, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_ok():void, 9, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_overrun_bad():void, 9, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_underrun_bad():void, 9, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_ok():void, 56, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_overrun_bad():void, 13, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_underrun_bad():void, 7, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_bad():void, 22, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_in_loop_Good():void, 214, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_ok():void, 22, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_overrun_bad():void, 13, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_ok():void, 68, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_overrun_bad():void, 16, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_underrun_bad():void, 10, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.boolean_control_var_linear():void, 7 + 19 ⋅ this.arr.length + 4 ⋅ (this.arr.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.call_init_with_put_linear(java.util.ArrayList):void, 22 + 8 ⋅ a.length + 13 ⋅ a.length + 3 ⋅ (a.length + 1) + 3 ⋅ (a.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.call_sortArrayList(java.util.ArrayList):void, 4 + list.length × log(list.length), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_add_all(java.util.ArrayList,java.util.ArrayList):void, 13 + 5 ⋅ (l.length + list.length) + 3 ⋅ (l.length + list.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_add_all_sym(java.util.ArrayList,java.util.ArrayList):void, 13 + 5 ⋅ (l.length + list.length) + 3 ⋅ (l.length + list.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_linear(java.util.ArrayList):void, 9 + 5 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_modify(java.util.ArrayList):void, 21 + 5 ⋅ (list.length + 4) + 3 ⋅ (list.length + 5), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.empty_list_constant(int):void, 12, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.id(java.util.ArrayList):void, 10, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.init_with_put_linear(java.util.ArrayList):java.util.HashMap, 11 + 13 ⋅ a.length + 3 ⋅ (a.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist(java.util.ArrayList):void, 8 + 5 ⋅ list.length, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist_shortcut_FP(java.util.ArrayList):boolean, 10 + 11 ⋅ list.length + 2 ⋅ list.length × (11-max(10, list.elements)) + 3 ⋅ (list.length + 1) × (11-max(10, list.elements)), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist_with_inner(java.util.ArrayList):void, 9 + 11 ⋅ list1.length + 3 ⋅ (list1.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_local_arraylist(java.util.ArrayList):void, 10 + 5 ⋅ list.length, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_while_has_next(java.util.ArrayList):void, 6 + 10 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_with_iterator(java.util.ArrayList):void, 6 + 8 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.json_array_constructor_linear(java.util.ArrayList):void, 9 + 5 ⋅ arr.length + 3 ⋅ (arr.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.linear(int,java.util.ArrayList):void, 7 + 9 ⋅ (-i + a.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.max_linear(java.util.ArrayList):Person, 12 + people.length, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.remove_string_from_list(java.lang.String):boolean, 13 + 12 ⋅ this.list.length + 3 ⋅ (this.list.length + 1), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.sortArrayList(java.util.ArrayList):void, 2 + list.length × log(list.length), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.sort_comparator_nlogn(java.util.ArrayList):void, 8 + people.length × log(people.length), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.substitute_array_block_linear(java.util.ArrayList,java.util.ArrayList):void, 33 + 5 ⋅ (b.length + a.length), OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, LexicographicComparator.(), 3, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, LexicographicComparator.compare(Person,Person):int, 9, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, LexicographicComparator.compare(java.lang.Object,java.lang.Object):int, 18, OnUIThread:false -codetoanalyze/java/performance/ArrayListTest.java, Person.(java.lang.String,int), 9, OnUIThread:false -codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.(), 3, OnUIThread:false -codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_constant(int):int, 13 + 7 ⋅ p, OnUIThread:false -codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_loop(int,int):int, 8 + 7 ⋅ p, OnUIThread:false -codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_outer_loop_MaybeInfinite(int,int):void, 8 + 4 ⋅ maxI + 3 ⋅ maxI × (min(12, maxJ)) + 5 ⋅ maxI × (12-max(0, maxJ)) + 5 ⋅ (min(11, maxI)) × (min(11, maxJ)), OnUIThread:false -codetoanalyze/java/performance/CantHandle.java, CantHandle.(), 3, OnUIThread:false -codetoanalyze/java/performance/CantHandle.java, CantHandle.quadratic(int):void, 6 + 6 ⋅ x², OnUIThread:false -codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_FP(int):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_variant_FP(int):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest$Dummy.(), 3, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.():void, ⊤, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.(java.lang.String,int,int), 8, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.valueOf(java.lang.String):CollectionTest$MyEnumType, 7, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.values():CollectionTest$MyEnumType[], 7, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.ensure_call(CollectionTest$MyCollection):void, 11 + 5 ⋅ list.length, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_call_quad(int,CollectionTest$MyCollection):void, 6 + 18 ⋅ list.length + 5 ⋅ list.length × list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection):void, 8 + 5 ⋅ list.length, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_mycollection_quad(java.util.concurrent.ConcurrentLinkedQueue):void, 6 + 18 ⋅ mSubscribers.length + 5 ⋅ mSubscribers.length × mSubscribers.elements.*.length.ub + 3 ⋅ (mSubscribers.length + 1), OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_some_java_collection(java.util.concurrent.ConcurrentLinkedQueue):void, 6 + 8 ⋅ mSubscribers.length + 3 ⋅ (mSubscribers.length + 1), OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.loop_over_call(int,CollectionTest$MyCollection):void, 5 + 15 ⋅ size + 5 ⋅ size × list.length, OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.nested_iterator_qubic(int,CollectionTest$MyCollection,CollectionTest$MyCollection):void, 6 + 13 ⋅ list1.length + 5 ⋅ list1.length × list1.length × list2.length + 5 ⋅ list1.length × list1.length × list2.length + 28 ⋅ list1.length × list2.length + 3 ⋅ list1.length × (list2.length + 1) + 3 ⋅ (list1.length + 1), OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.sparse_array_linear(android.util.SparseArray):void, 5 + 5 ⋅ arr.length + 3 ⋅ (arr.length + 1), OnUIThread:false -codetoanalyze/java/performance/CollectionTest.java, CollectionTest.sparse_array_new_constant():void, 24, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.binary_search_log(java.util.List):int, 5 + log(list.length), OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.copy_linear(java.util.List,java.util.List):void, 3 + list_to.length, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.emptyList_constant():void, 10, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.emptySet_zero():void, 11, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.fill_linear(java.util.List,java.lang.String):void, 3 + list.length, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.globalEmptyList_constant():void, 8, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.reverse_constant(java.lang.String):void, 6, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.reverse_linear(java.util.List):void, 2 + list.length, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.shuffle_linear(java.util.List,java.util.Random):void, 7 + 5 ⋅ list.length + list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.singletonList_constant(java.lang.String):void, 23, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.singletonMap_constant():void, 32, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.singletonSet_constant():void, 22, OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.unmodifiable_linear(java.util.List):void, 8 + 5 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.unmodifiable_map(java.util.Map):void, 12 + 8 ⋅ map.length + 3 ⋅ (map.length + 1), OnUIThread:false -codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.unmodifiable_set(java.util.Set):void, 9 + 8 ⋅ set.length + 3 ⋅ (set.length + 1), OnUIThread:false -codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.(), 3, OnUIThread:false -codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.compound_while(int):int, 9 + 5 ⋅ m + 2 ⋅ (1+max(0, m)), OnUIThread:false -codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or(int):int, 22, OnUIThread:false -codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or(int):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/Continue.java, codetoanalyze.java.performance.Continue.(), 3, OnUIThread:false -codetoanalyze/java/performance/Continue.java, codetoanalyze.java.performance.Continue.continue_outer_loop():int, 7963052, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.CloneTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.CloneTest.clone_test_constant():void, 74, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.(), 3, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.alias2_OK():void, 8, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.alias_OK():void, 6, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.band_constant(int):void, 1280, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.bar_OK():int, 19, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_inputstream_read_linear(java.io.InputStream):void, 27308, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_mult_symbold_quadratic(int):void, 14 + 5 ⋅ n + 6 ⋅ n², OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.cond_OK(int):int, 28, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.foo_OK():int, 6, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.get_global():int, 3, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_boolean_symbols_constant1(boolean):void, 21, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_boolean_symbols_constant2(boolean):void, 21, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_boolean_symbols_linear(boolean,int):void, 7 + 6 ⋅ n + 2 ⋅ (1+max(0, n)), OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_character_symbols_constant(char):void, 21, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_double_symbols_constant(double):void, 21, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_float_symbols_constant(float):void, 21, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop0_bad():int, 1205, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop1_bad():int, 1307, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop2(int):int, 6 + 13 ⋅ k, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop3(int):int, 241, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop_on_unknown_global_linear():void, 5 + 5 ⋅ codetoanalyze.java.performance.Cost_test.global + 5 ⋅ (1+max(0, codetoanalyze.java.performance.Cost_test.global)), OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.main_bad():int, 271, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.mult_symbols_quadratic(int,int):void, 6 + 6 ⋅ x × y, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.rand():boolean, 9, OnUIThread:false -codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.unitCostFunction():void, 1, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.(), 3, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.foo(int,int):int, 4, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_bad(int):void, 615, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_bad_loop():int, 203, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_despite_inferbo(int):int, 1308, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep1(int):int, 609, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep2(int):int, 614, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.nested_loop():int, 2547, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.real_while():int, 218, OnUIThread:false -codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.two_loops():int, 549, OnUIThread:false -codetoanalyze/java/performance/EnumTest.java, EnumTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/EnumTest.java, EnumTest.enum_name_constant(MyEnum):void, 198, OnUIThread:false -codetoanalyze/java/performance/EnumTest.java, EnumTest.iterate_enum_constants():void, 31, OnUIThread:false -codetoanalyze/java/performance/EnumTest.java, MyEnum.():void, 29, OnUIThread:false -codetoanalyze/java/performance/EnumTest.java, MyEnum.(java.lang.String,int), 5, OnUIThread:false -codetoanalyze/java/performance/EnumTest.java, MyEnum.valueOf(java.lang.String):MyEnum, 7, OnUIThread:false -codetoanalyze/java/performance/EnumTest.java, MyEnum.values():MyEnum[], 7, OnUIThread:false -codetoanalyze/java/performance/EvilCfg.java, EvilCfg.(), 3, OnUIThread:false -codetoanalyze/java/performance/EvilCfg.java, EvilCfg.foo(int,int,boolean):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess$Test.(codetoanalyze.java.performance.FieldAccess), 6, OnUIThread:false -codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess.(), 3, OnUIThread:false -codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess.iterate_upto_field_size(codetoanalyze.java.performance.FieldAccess$Test):void, 6 + 6 ⋅ test.a, OnUIThread:false -codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assert_get_list_constant():void, 81, OnUIThread:false -codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assert_get_map_constant():void, 102, OnUIThread:false -codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assert_not_null_explanation_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false -codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assert_not_null_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false -codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assume_not_null_explanation_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false -codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assume_not_null_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false -codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.nullsafe_fixme_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$AbsImpl.(InheritanceTest), 6, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl1.(InheritanceTest), 12, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl1.foo(int):void, 5 + 5 ⋅ x, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl2.(InheritanceTest), 12, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl2.foo(int):void, 1, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl.(InheritanceTest), 6, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl.foo(int):void, 5 + 5 ⋅ x, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl4.(InheritanceTest), 6, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl4.top_cost(InheritanceTest$MyInterface3):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest.call_interface_method2_linear(InheritanceTest$MyInterface2,int):void, 8 + 5 ⋅ x, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest.call_interface_method_linear(InheritanceTest$MyInterface,int):void, 8 + 5 ⋅ x, OnUIThread:false -codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest.ignore_top_costed_sub_method_constant(InheritanceTest$MyInterface3,InheritanceTest$MyInterface4):void, 4, OnUIThread:false -codetoanalyze/java/performance/IntTest.java, IntTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/IntTest.java, IntTest.control_var_band_add_constant(int,int):void, 186, OnUIThread:false -codetoanalyze/java/performance/IntTest.java, IntTest.control_var_band_constant(int,int):void, 186, OnUIThread:false -codetoanalyze/java/performance/IntTest.java, IntTest.intValue_linear(java.lang.Integer):void, 5 + 5 ⋅ mKBytesToSend + 3 ⋅ (1+max(0, mKBytesToSend)), OnUIThread:false -codetoanalyze/java/performance/IntTest.java, IntTest.static_Integer_top():void, ⊤, OnUIThread:false -codetoanalyze/java/performance/IntTest.java, IntTest.valueOf_linear(int):void, 8 + 5 ⋅ p + 3 ⋅ (1+max(0, p)), OnUIThread:false -codetoanalyze/java/performance/Invariant.java, Invariant.(), 3, OnUIThread:false -codetoanalyze/java/performance/Invariant.java, Invariant.do_while_invariant(int,int):void, 5 + 3 ⋅ (k - 1) + 4 ⋅ (max(1, k)), OnUIThread:false -codetoanalyze/java/performance/Invariant.java, Invariant.formal_not_invariant_FP(int,int):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/Invariant.java, Invariant.list_size_invariant(java.util.List):void, 5 + 5 ⋅ items.length + 3 ⋅ (items.length + 1), OnUIThread:false -codetoanalyze/java/performance/Invariant.java, Invariant.local_not_invariant_FP(int):void, 7 + 12 ⋅ (size + 5) + 7 ⋅ (size + 5) × (5+min(1, size)) + 4 ⋅ (5+min(0, size)), OnUIThread:false -codetoanalyze/java/performance/Invariant.java, Invariant.x_is_invariant_ok(int):void, 12 + 6 ⋅ (size + 20), OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.():void, 83, OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.(java.lang.String,int), 5, OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.valueOf(java.lang.String):IteratorTest$Color, 7, OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.values():IteratorTest$Color[], 7, OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest.appendTo(java.util.Iterator):void, 3 + 10 ⋅ parts.length + 3 ⋅ (parts.length + 1), OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest.enum_iter():void, 43, OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest.fields_iter():void, 28, OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, IteratorTest.linearIterable(java.lang.Iterable):void, 9 + 10 ⋅ elements.length + 3 ⋅ (elements.length + 1), OnUIThread:false -codetoanalyze/java/performance/IteratorTest.java, MyClassWithFields.(), 3, OnUIThread:false -codetoanalyze/java/performance/JsonArray.java, libraries.marauder.analytics.utils.json.JsonArray.(), 9, OnUIThread:false -codetoanalyze/java/performance/JsonArray.java, libraries.marauder.analytics.utils.json.JsonArray.addStringEntry(java.lang.String):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.(), 9, OnUIThread:false -codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,boolean):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,double):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,java.lang.Object):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,java.lang.String):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,libraries.marauder.analytics.utils.json.JsonType):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,long):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addKeyToMap(java.lang.String):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(boolean), 14, OnUIThread:false -codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(double), 14, OnUIThread:false -codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(java.lang.String), ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(long), 14, OnUIThread:false -codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.toString():java.lang.String, 4, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.(), 3, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.escape(java.lang.StringBuilder,java.lang.String):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.isValidInputType(java.lang.Object):boolean, 21, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(boolean):java.lang.String, 6, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(double):java.lang.String, 6, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.Object):java.lang.String, 45, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.String):java.lang.StringBuilder, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,boolean):void, 13, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,double):void, 13, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,java.lang.Object):void, 52, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,java.lang.String):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,long):void, 13, OnUIThread:false -codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(long):java.lang.String, 6, OnUIThread:false -codetoanalyze/java/performance/LambdaTest.java, LambdaTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/LambdaTest.java, LambdaTest.call_lambda(int):void, 21 + 5 ⋅ x, OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest$MyOwnObj.(ListTest), 8, OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest$MyOwnObj.my_put():void, 5, OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.asList_linear(java.lang.String[]):void, 9 + 8 ⋅ array.length + 3 ⋅ (array.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.call_iterate_elements_linear(java.util.List,java.util.List):void, 26 + 5 ⋅ (l2.length + l1.length) + 3 ⋅ (l2.length + l1.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.indexOfImpl_linear(java.util.List,java.lang.Object):int, 14 + 11 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.iter_multiple_list1_linear(java.util.List,java.util.List):void, 19 + 12 ⋅ (l2.length + l1.length) + 3 ⋅ (l2.length + l1.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.iter_multiple_list2_linear(java.util.List,java.util.List):void, 16 + 8 ⋅ (l2.length + l1.length) + 3 ⋅ (l2.length + l1.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.iter_multiple_list3_linear(java.util.List,java.util.List,java.util.List):void, 20 + 8 ⋅ (l2.length + l1.length + a.length) + 3 ⋅ (l2.length + l1.length + a.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.iter_my_own_obj(java.util.List):void, 22 + 14 ⋅ a.length + 6 ⋅ a.length + 3 ⋅ (a.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.iter_relation_with_var(java.util.List):void, 11 + 10 ⋅ a.length + 5 ⋅ a.length + 3 ⋅ (a.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.iterate_elements_linear(java.util.List):void, 6 + 5 ⋅ l.length + 3 ⋅ (l.length + 1), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.sort_comparator_nlogn(java.util.List):void, 8 + people.length × log(people.length), OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.sublist(java.util.List):void, 13 + 8 ⋅ (filesList.length - 1) + 3 ⋅ filesList.length, OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.sublist_constant(java.util.List):void, 34, OnUIThread:false -codetoanalyze/java/performance/ListTest.java, ListTest.two_lists(java.util.List,java.util.List):java.util.List, 13, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops$C.(), 3, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops$MyLinkedList.(codetoanalyze.java.performance.Loops), 6, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops$MyLinkedList.getNext():codetoanalyze.java.performance.Loops$MyLinkedList, 4, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.(), 3, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.charsequence_length_linear(java.lang.CharSequence):void, 5 + 5 ⋅ seq.length + 3 ⋅ (seq.length + 1), OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.do_while_independent_of_p(int):int, 253, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.dumb0(long[],int):void, 5 + 25 ⋅ (length - 1), OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.dumbSort(long[],long[],int):void, 5 + 59 ⋅ (length - 1) × (length - 1) + 8 ⋅ length, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.linear(int):void, 5 + 5 ⋅ x, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.modeled_range_linear(java.nio.channels.FileChannel,java.nio.ByteBuffer):void, 6 + 14 ⋅ FileChannel.read(...).modeled, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.nested_do_while_FP(int):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.similar(codetoanalyze.java.performance.Loops$C[],codetoanalyze.java.performance.Loops$C[]):boolean, 47 + 26 ⋅ x.length, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.string_concat_linear(java.lang.String,java.lang.String):void, 11 + 5 ⋅ (p.length + s.length) + 3 ⋅ (p.length + s.length + 1), OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.string_length_linear(java.lang.String):void, 5 + 5 ⋅ s.length + 3 ⋅ (s.length + 1), OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol():void, ⊤, OnUIThread:false -codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.zeropad_linear_FN(java.lang.String,java.lang.String):void, 18, OnUIThread:false -codetoanalyze/java/performance/MapTest.java, MapTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/MapTest.java, MapTest.entrySet_linear(java.util.Map):void, 9 + 8 ⋅ map.length + 3 ⋅ (map.length + 1), OnUIThread:false -codetoanalyze/java/performance/MapTest.java, MapTest.keySet_linear(java.util.Map):void, 9 + 8 ⋅ map.length + 3 ⋅ (map.length + 1), OnUIThread:false -codetoanalyze/java/performance/MapTest.java, MapTest.putAll_linear(java.util.Map):void, 15 + 8 ⋅ map.length + 3 ⋅ (map.length + 1), OnUIThread:false -codetoanalyze/java/performance/MapTest.java, MapTest.values_linear(java.util.Map):void, 15 + 8 ⋅ (map.length + 1) + 3 ⋅ (map.length + 2), OnUIThread:false -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_max2_constant():void, 191, OnUIThread:false -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_with_max_linear(int):void, 11 + 5 ⋅ (max(1, x)), OnUIThread:false -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_with_min_constant():void, 25, OnUIThread:false -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.linear(int):void, 5 + 5 ⋅ p, OnUIThread:false -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.max2_symbolic(int,int):void, 9 + 9 ⋅ (max(x, y)), OnUIThread:false -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.max_symbolic(int[]):void, 5 + 5 ⋅ arr.length + 4 ⋅ (arr.length + 1), OnUIThread:false -codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.min_constant(int[]):void, 5 + 5 ⋅ (min(3, arr.length)) + 4 ⋅ (1+min(3, arr.length)), OnUIThread:false -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest$get_five.(PreconditionTest), 6, OnUIThread:false -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkArgument_constant(java.util.ArrayList):void, 16 + 5 ⋅ (min(2, list.length)) + 3 ⋅ (1+min(2, list.length)), OnUIThread:false -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkNotNull_linear(java.util.ArrayList,java.lang.Object):void, 13 + 8 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkState_constant(java.util.ArrayList):void, 16 + 5 ⋅ (min(2, list.length)) + 3 ⋅ (1+min(2, list.length)), OnUIThread:false -codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.constant_array(int[]):void, 20 + 17 ⋅ (min(5, a.length)), OnUIThread:false -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.append_linear(java.lang.String):void, 25 + 5 ⋅ (s.length + 2) + 3 ⋅ (s.length + 3), OnUIThread:false -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_capacity_constant():void, 24, OnUIThread:false -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_constant():void, 64, OnUIThread:false -codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_linear(java.lang.String):void, 12 + 5 ⋅ s.length + 3 ⋅ (s.length + 1), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.byte_array_constructor_linear(byte[]):void, 9 + 5 ⋅ data.length + 3 ⋅ (data.length + 1), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.call_split_constant():void, 39, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.call_string_constant():void, 17, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.call_string_constructor_constant():void, 18, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.class_get_canonical_name_constant(java.lang.Integer):void, 252, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.index_substring_linear():java.lang.String, 17 + this.mId.length, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.indexof_constant(java.lang.String):int, 8, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.indexof_from_linear(java.lang.String,int):int, 6 + (-j + m.length), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.indexof_linear(java.lang.String):int, 5 + m.length, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.indexof_quadratic(java.lang.String,java.lang.String):int, 6 + m.length × n.length, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.last_index_of_linear(java.lang.String):void, 8 + 5 ⋅ (s.length - 1), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.last_index_of_linear_FP(java.lang.String):void, 8 + 6 ⋅ (s.length - 1) × (s.length + 1) + 4 ⋅ (1+min(1, s.length))², OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.replace_linear(java.lang.String):void, 8 + 5 ⋅ s.length + 3 ⋅ (s.length + 1), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.split_linear(java.lang.String):void, 9 + 6 ⋅ (-1+max(2, s.length)), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.split_with_limit_linear(java.lang.String,int):void, 10 + 6 ⋅ (max(1, limit)), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.startsWith_constant():java.lang.String, 18, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.string_constructor_constant():void, 45, OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.string_constructor_linear(java.lang.String):void, 9 + 5 ⋅ s.length + 3 ⋅ (s.length + 1), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.substring_linear(java.lang.String,int,int):void, 13 + 8 ⋅ (-x + y), OnUIThread:false -codetoanalyze/java/performance/StringTest.java, StringTest.substring_no_end_linear(java.lang.String,int):void, 12 + 8 ⋅ (-x + s.length), OnUIThread:false -codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.(), 3, OnUIThread:false -codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.test_switch():int, 798, OnUIThread:false -codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.vanilla_switch(int):void, 50, OnUIThread:false -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.AllMethodsOnUiThread.(), 3, OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.AllMethodsOnUiThread.bar_UIThread_linear():int, 9 + 10 ⋅ (max(0, this.f)), OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.AllMethodsOnUiThread.foo_UIThread_constant():void, 3, OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.ExtendsClassOnUiThread.(), 5, OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.ExtendsClassOnUiThread.bar_UIThread_linear():int, 14 + 10 ⋅ (max(0, this.f)), OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.ExtendsClassOnUiThread.foo_UIThread_constant():void, 3, OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.(codetoanalyze.java.checkers.UIAnnotationTest), 6, OnUIThread:false -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.constant():void, 1, OnUIThread:false -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.loop_UIThread_linear(int):void, 5 + 5 ⋅ x, OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.loop_linear(int):void, 5 + 5 ⋅ x, OnUIThread:false -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.onBindMethod_linear(int):void, 8 + 5 ⋅ x, OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.onClick_linear(int):void, 5 + 5 ⋅ x, OnUIThread:true -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$WeirdAnnotation.(codetoanalyze.java.checkers.UIAnnotationTest), 6, OnUIThread:false -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$WeirdAnnotation.foo_linear():void, 6 + 6 ⋅ this.f, OnUIThread:false -codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest$AbstractC.(UnknownCallsTest), 6, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_may_throw_exception_constant():void, 220, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_throw_exception_linear():void, 5 + 5 ⋅ UnknownCallsTest.throw_exception().ub + 8 ⋅ (1+max(0, UnknownCallsTest.throw_exception().ub)), OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.jsonArray_constant():void, 22, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.jsonArray_linear(org.json.JSONArray):void, 8 + 5 ⋅ jsonArray.length, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, ⊤, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.may_throw_exception():int, 13, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.read_max_cost(java.io.InputStream,byte[],int,int,java.util.ArrayList):int, 25 + 5 ⋅ (byteCount + 1), OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.read_sum_cost(java.io.InputStream,byte[],int,int,java.util.ArrayList):int, 20 + 6 ⋅ 2⋅byteCount, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.throw_exception():int, 6, OnUIThread:false -codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.unmodeled_impure_linear(java.util.ArrayList):void, 5 + 13 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false -codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.(), 3, OnUIThread:false -codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.double_prune_unreachable_FN(double):void, 13, OnUIThread:false -codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.infeasible_path_unreachable():void, ⊥, OnUIThread:false -codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.unit_cost():void, 1, OnUIThread:false +codetoanalyze/java/performance/A.java, A.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/A.java, B$BArray.(B), 6, OnUIThread:false, [] +codetoanalyze/java/performance/A.java, B$BArray.error():void, 11, OnUIThread:false, [] +codetoanalyze/java/performance/A.java, B$BArray.ok():void, 5, OnUIThread:false, [] +codetoanalyze/java/performance/A.java, B.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/A.java, B.error():void, 21, OnUIThread:false, [] +codetoanalyze/java/performance/A.java, B.ok():void, 6, OnUIThread:false, [] +codetoanalyze/java/performance/AndroidXCollectionTest.java, AndroidXCollectionTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/AndroidXCollectionTest.java, AndroidXCollectionTest.call_iterate_over_sparsearraycompat_const():void, 24, OnUIThread:false, [] +codetoanalyze/java/performance/AndroidXCollectionTest.java, AndroidXCollectionTest.iterate_over_sparsearraycompat_linear(androidx.collection.SparseArrayCompat):void, 8 + 5 ⋅ sa.length, OnUIThread:false, [{sa.length},Loop at line 12] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.():void, 9, OnUIThread:false, [] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_good():void, 70, OnUIThread:false, [] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_overrun_bad():void, 70, OnUIThread:false, [] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_weird_ok(long[],int):void, 5 + 13 ⋅ length, OnUIThread:false, [{length},Loop at line 30] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.binary_search_log(java.lang.String[]):int, 5 + log(arr.length), OnUIThread:false, [{arr.length},Modeled call to Arrays.binarySearch] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.bsearch_log(int):void, 6 + log(i), OnUIThread:false, [{i},Modeled call to Arrays.binarySearch] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types(int):void, 19 + 6 ⋅ x + 5 ⋅ x, OnUIThread:false, [{x},call to String[] Array.gen_and_iter_types(int),Loop at line 76,{x},Loop at line 82] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types_linear_FP(int,int):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 88] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.copyOf_constant(java.lang.String[]):void, 16, OnUIThread:false, [] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.copyOf_linear(java.lang.String[]):void, 17 + 9 ⋅ arr.length + arr.length, OnUIThread:false, [{arr.length},Modeled call to Arrays.copyOf,{arr.length},Loop at line 45] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.fill_big_constant():void, 307, OnUIThread:false, [] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.fill_linear(java.lang.String[]):void, 2 + arr.length, OnUIThread:false, [{arr.length},Modeled call to Arrays.fill] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.gen_and_iter_types(int):java.lang.String[], 10 + 5 ⋅ length, OnUIThread:false, [{length},Loop at line 76] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.init_array_linear():void, 2568, OnUIThread:false, [] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.sort_array_nlogn(int):void, 5 + size × log(size), OnUIThread:false, [{size},Modeled call to Arrays.sort,{size},Modeled call to Arrays.sort] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.toArray_linear(java.util.ArrayList):void, 6 + 6 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 92,{list.length},Loop at line 92] +codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.use_static_final_array_field_constant():void, 18, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayCost.java, ArrayCost.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayCost.java, ArrayCost.ArrayCost(int[]):void, 8 + 5 ⋅ mag.length, OnUIThread:false, [{mag.length},Loop at line 15] +codetoanalyze/java/performance/ArrayCost.java, ArrayCost.isPowOfTwo_FP(int):boolean, 895, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest$Elt.(ArrayListTest), 6, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest$Elt.get_boolean():boolean, 4, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.(), 15, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.array_get_elem_constant():void, 81, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add3_overrun_bad():void, 27, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_addAll_bad():void, 39, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_in_loop():void, 174, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_in_loop_ok():void, 187, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add_in_nested_loop_constant():void, 1774, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_ok():void, 9, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_overrun_bad():void, 9, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_empty_underrun_bad():void, 9, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_ok():void, 56, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_overrun_bad():void, 13, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_get_underrun_bad():void, 7, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_bad():void, 22, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_in_loop_Good():void, 214, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_ok():void, 22, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_remove_overrun_bad():void, 13, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_ok():void, 68, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_overrun_bad():void, 16, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_set_underrun_bad():void, 10, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.boolean_control_var_linear():void, 7 + 19 ⋅ this.arr.length + 4 ⋅ (this.arr.length + 1), OnUIThread:false, [{this.arr.length + 1},Loop at line 300,{this.arr.length},Loop at line 300] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.call_init_with_put_linear(java.util.ArrayList):void, 22 + 8 ⋅ a.length + 13 ⋅ a.length + 3 ⋅ (a.length + 1) + 3 ⋅ (a.length + 1), OnUIThread:false, [{a.length + 1},call to HashMap ArrayListTest.init_with_put_linear(ArrayList),Loop at line 309,{a.length + 1},Loop at line 317,{a.length},call to HashMap ArrayListTest.init_with_put_linear(ArrayList),Loop at line 309,{a.length},Loop at line 317] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.call_sortArrayList(java.util.ArrayList):void, 4 + list.length × log(list.length), OnUIThread:false, [{list.length},call to void ArrayListTest.sortArrayList(ArrayList),Modeled call to Collections.sort,{list.length},call to void ArrayListTest.sortArrayList(ArrayList),Modeled call to Collections.sort] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_add_all(java.util.ArrayList,java.util.ArrayList):void, 13 + 5 ⋅ (l.length + list.length) + 3 ⋅ (l.length + list.length + 1), OnUIThread:false, [{l.length + list.length + 1},Loop at line 250,{l.length + list.length},Loop at line 250] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_add_all_sym(java.util.ArrayList,java.util.ArrayList):void, 13 + 5 ⋅ (l.length + list.length) + 3 ⋅ (l.length + list.length + 1), OnUIThread:false, [{l.length + list.length + 1},Loop at line 257,{l.length + list.length},Loop at line 257] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_linear(java.util.ArrayList):void, 9 + 5 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 232,{list.length},Loop at line 232] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.constructor_modify(java.util.ArrayList):void, 21 + 5 ⋅ (list.length + 4) + 3 ⋅ (list.length + 5), OnUIThread:false, [{list.length + 5},Loop at line 243,{list.length + 4},Loop at line 243] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.empty_list_constant(int):void, 12, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.id(java.util.ArrayList):void, 10, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.init_with_put_linear(java.util.ArrayList):java.util.HashMap, 11 + 13 ⋅ a.length + 3 ⋅ (a.length + 1), OnUIThread:false, [{a.length + 1},Loop at line 309,{a.length},Loop at line 309] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist(java.util.ArrayList):void, 8 + 5 ⋅ list.length, OnUIThread:false, [{list.length},Loop at line 15] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist_shortcut_FP(java.util.ArrayList):boolean, 10 + 11 ⋅ list.length + 2 ⋅ list.length × (11-max(10, list.elements)) + 3 ⋅ (list.length + 1) × (11-max(10, list.elements)), OnUIThread:false, [{11-max(10, list.elements)},Loop at line 198,{list.length + 1},Loop at line 198,{11-max(10, list.elements)},Loop at line 198,{list.length},Loop at line 198] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_arraylist_with_inner(java.util.ArrayList):void, 9 + 11 ⋅ list1.length + 3 ⋅ (list1.length + 1), OnUIThread:false, [{list1.length + 1},Loop at line 189,{list1.length},Loop at line 189] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_over_local_arraylist(java.util.ArrayList):void, 10 + 5 ⋅ list.length, OnUIThread:false, [{list.length},Loop at line 20] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_while_has_next(java.util.ArrayList):void, 6 + 10 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 181,{list.length},Loop at line 181] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.iterate_with_iterator(java.util.ArrayList):void, 6 + 8 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 175,{list.length},Loop at line 175] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.json_array_constructor_linear(java.util.ArrayList):void, 9 + 5 ⋅ arr.length + 3 ⋅ (arr.length + 1), OnUIThread:false, [{arr.length + 1},Loop at line 277,{arr.length},Loop at line 277] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.linear(int,java.util.ArrayList):void, 7 + 9 ⋅ (-i + a.length + 1), OnUIThread:false, [{-i + a.length + 1},Loop at line 284] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.max_linear(java.util.ArrayList):Person, 12 + people.length, OnUIThread:false, [{people.length},Modeled call to Collections.max] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.remove_string_from_list(java.lang.String):boolean, 13 + 12 ⋅ this.list.length + 3 ⋅ (this.list.length + 1), OnUIThread:false, [{this.list.length + 1},Loop at line 221,{this.list.length},Loop at line 221] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.sortArrayList(java.util.ArrayList):void, 2 + list.length × log(list.length), OnUIThread:false, [{list.length},Modeled call to Collections.sort,{list.length},Modeled call to Collections.sort] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.sort_comparator_nlogn(java.util.ArrayList):void, 8 + people.length × log(people.length), OnUIThread:false, [{people.length},Modeled call to Collections.sort,{people.length},Modeled call to Collections.sort] +codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.substitute_array_block_linear(java.util.ArrayList,java.util.ArrayList):void, 33 + 5 ⋅ (b.length + a.length), OnUIThread:false, [{b.length + a.length},call to void ArrayListTest.iterate_over_arraylist(ArrayList),Loop at line 15] +codetoanalyze/java/performance/ArrayListTest.java, LexicographicComparator.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, LexicographicComparator.compare(Person,Person):int, 9, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, LexicographicComparator.compare(java.lang.Object,java.lang.Object):int, 18, OnUIThread:false, [] +codetoanalyze/java/performance/ArrayListTest.java, Person.(java.lang.String,int), 9, OnUIThread:false, [] +codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_constant(int):int, 13 + 7 ⋅ p, OnUIThread:false, [{p},call to int Break.break_loop(int,int),Loop at line 12] +codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_loop(int,int):int, 8 + 7 ⋅ p, OnUIThread:false, [{p},Loop at line 12] +codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.break_outer_loop_MaybeInfinite(int,int):void, 8 + 4 ⋅ maxI + 3 ⋅ maxI × (min(12, maxJ)) + 5 ⋅ maxI × (12-max(0, maxJ)) + 5 ⋅ (min(11, maxI)) × (min(11, maxJ)), OnUIThread:false, [{min(11, maxJ)},Loop at line 37,{min(11, maxI)},Loop at line 35,{12-max(0, maxJ)},Loop at line 35,{min(12, maxJ)},Loop at line 37,{maxI},Loop at line 35] +codetoanalyze/java/performance/CantHandle.java, CantHandle.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/CantHandle.java, CantHandle.quadratic(int):void, 6 + 6 ⋅ x², OnUIThread:false, [{x},Loop at line 31,{x},Loop at line 31] +codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_FP(int):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 17] +codetoanalyze/java/performance/CantHandle.java, CantHandle.square_root_variant_FP(int):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 25] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest$Dummy.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.():void, ⊤, OnUIThread:false, [Call to CollectionTest$MyEnumType$1.(),Unbounded loop,Loop at line 88] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.(java.lang.String,int,int), 8, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.valueOf(java.lang.String):CollectionTest$MyEnumType, 7, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest$MyEnumType.values():CollectionTest$MyEnumType[], 7, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.ensure_call(CollectionTest$MyCollection):void, 11 + 5 ⋅ list.length, OnUIThread:false, [{list.length},call to void CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection),Loop at line 17] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_call_quad(int,CollectionTest$MyCollection):void, 6 + 18 ⋅ list.length + 5 ⋅ list.length × list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 45,{list.length},call to void CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection),Loop at line 17,{list.length},Loop at line 45] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection):void, 8 + 5 ⋅ list.length, OnUIThread:false, [{list.length},Loop at line 17] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_mycollection_quad(java.util.concurrent.ConcurrentLinkedQueue):void, 6 + 18 ⋅ mSubscribers.length + 5 ⋅ mSubscribers.length × mSubscribers.elements.*.length.ub + 3 ⋅ (mSubscribers.length + 1), OnUIThread:false, [{mSubscribers.length + 1},Loop at line 26,{mSubscribers.elements.*.length.ub},call to void CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection),Loop at line 17,{mSubscribers.length},Loop at line 26] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.iterate_over_some_java_collection(java.util.concurrent.ConcurrentLinkedQueue):void, 6 + 8 ⋅ mSubscribers.length + 3 ⋅ (mSubscribers.length + 1), OnUIThread:false, [{mSubscribers.length + 1},Loop at line 22,{mSubscribers.length},Loop at line 22] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.loop_over_call(int,CollectionTest$MyCollection):void, 5 + 15 ⋅ size + 5 ⋅ size × list.length, OnUIThread:false, [{list.length},call to void CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection),Loop at line 17,{size},Loop at line 38] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.nested_iterator_qubic(int,CollectionTest$MyCollection,CollectionTest$MyCollection):void, 6 + 13 ⋅ list1.length + 5 ⋅ list1.length × list1.length × list2.length + 5 ⋅ list1.length × list1.length × list2.length + 28 ⋅ list1.length × list2.length + 3 ⋅ list1.length × (list2.length + 1) + 3 ⋅ (list1.length + 1), OnUIThread:false, [{list1.length + 1},Loop at line 52,{list2.length + 1},Loop at line 53,{list2.length},Loop at line 53,{list2.length},Loop at line 53,{list1.length},call to void CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection),Loop at line 17,{list2.length},Loop at line 53,{list1.length},call to void CollectionTest.iterate_over_mycollection(CollectionTest$MyCollection),Loop at line 17,{list1.length},Loop at line 52] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.sparse_array_linear(android.util.SparseArray):void, 5 + 5 ⋅ arr.length + 3 ⋅ (arr.length + 1), OnUIThread:false, [{arr.length + 1},Loop at line 61,{arr.length},Loop at line 61] +codetoanalyze/java/performance/CollectionTest.java, CollectionTest.sparse_array_new_constant():void, 24, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.binary_search_log(java.util.List):int, 5 + log(list.length), OnUIThread:false, [{list.length},Modeled call to Collections.binarySearch] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.copy_linear(java.util.List,java.util.List):void, 3 + list_to.length, OnUIThread:false, [{list_to.length},Modeled call to Collections.copy] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.emptyList_constant():void, 10, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.emptySet_zero():void, 11, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.fill_linear(java.util.List,java.lang.String):void, 3 + list.length, OnUIThread:false, [{list.length},Modeled call to Collections.fill] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.globalEmptyList_constant():void, 8, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.reverse_constant(java.lang.String):void, 6, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.reverse_linear(java.util.List):void, 2 + list.length, OnUIThread:false, [{list.length},Modeled call to Collections.reverse] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.shuffle_linear(java.util.List,java.util.Random):void, 7 + 5 ⋅ list.length + list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 21,{list.length},Modeled call to Collections.shuffle,{list.length},Loop at line 21] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.singletonList_constant(java.lang.String):void, 23, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.singletonMap_constant():void, 32, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.singletonSet_constant():void, 22, OnUIThread:false, [] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.unmodifiable_linear(java.util.List):void, 8 + 5 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 53,{list.length},Loop at line 53] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.unmodifiable_map(java.util.Map):void, 12 + 8 ⋅ map.length + 3 ⋅ (map.length + 1), OnUIThread:false, [{map.length + 1},Loop at line 57,{map.length},Loop at line 57] +codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.unmodifiable_set(java.util.Set):void, 9 + 8 ⋅ set.length + 3 ⋅ (set.length + 1), OnUIThread:false, [{set.length + 1},Loop at line 61,{set.length},Loop at line 61] +codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.compound_while(int):int, 9 + 5 ⋅ m + 2 ⋅ (1+max(0, m)), OnUIThread:false, [{1+max(0, m)},Loop at line 15,{m},Loop at line 15] +codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or(int):int, 22, OnUIThread:false, [] +codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or(int):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 24] +codetoanalyze/java/performance/Continue.java, codetoanalyze.java.performance.Continue.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Continue.java, codetoanalyze.java.performance.Continue.continue_outer_loop():int, 7963052, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.CloneTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.CloneTest.clone_test_constant():void, 74, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.alias2_OK():void, 8, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.alias_OK():void, 6, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.band_constant(int):void, 1280, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.bar_OK():int, 19, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_inputstream_read_linear(java.io.InputStream):void, 27308, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_mult_symbold_quadratic(int):void, 14 + 5 ⋅ n + 6 ⋅ n², OnUIThread:false, [{n},call to void Cost_test.mult_symbols_quadratic(int,int),Loop at line 211,{n},call to void Cost_test.mult_symbols_quadratic(int,int),Loop at line 211,{n},Loop at line 215] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.cond_OK(int):int, 28, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.foo_OK():int, 6, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.get_global():int, 3, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_boolean_symbols_constant1(boolean):void, 21, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_boolean_symbols_constant2(boolean):void, 21, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_boolean_symbols_linear(boolean,int):void, 7 + 6 ⋅ n + 2 ⋅ (1+max(0, n)), OnUIThread:false, [{1+max(0, n)},Loop at line 135,{n},Loop at line 135] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_character_symbols_constant(char):void, 21, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_double_symbols_constant(double):void, 21, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_float_symbols_constant(float):void, 21, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop0_bad():int, 1205, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop1_bad():int, 1307, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop2(int):int, 6 + 13 ⋅ k, OnUIThread:false, [{k},Loop at line 92] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop3(int):int, 241, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop_on_unknown_global_linear():void, 5 + 5 ⋅ codetoanalyze.java.performance.Cost_test.global + 5 ⋅ (1+max(0, codetoanalyze.java.performance.Cost_test.global)), OnUIThread:false, [{1+max(0, codetoanalyze.java.performance.Cost_test.global)},Loop at line 203,{codetoanalyze.java.performance.Cost_test.global},Loop at line 203] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.main_bad():int, 271, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.mult_symbols_quadratic(int,int):void, 6 + 6 ⋅ x × y, OnUIThread:false, [{y},Loop at line 211,{x},Loop at line 211] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.rand():boolean, 9, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.unitCostFunction():void, 1, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.foo(int,int):int, 4, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_bad(int):void, 615, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_bad_loop():int, 203, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_despite_inferbo(int):int, 1308, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep1(int):int, 609, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep2(int):int, 614, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.nested_loop():int, 2547, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.real_while():int, 218, OnUIThread:false, [] +codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.two_loops():int, 549, OnUIThread:false, [] +codetoanalyze/java/performance/EnumTest.java, EnumTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/EnumTest.java, EnumTest.enum_name_constant(MyEnum):void, 198, OnUIThread:false, [] +codetoanalyze/java/performance/EnumTest.java, EnumTest.iterate_enum_constants():void, 31, OnUIThread:false, [] +codetoanalyze/java/performance/EnumTest.java, MyEnum.():void, 29, OnUIThread:false, [] +codetoanalyze/java/performance/EnumTest.java, MyEnum.(java.lang.String,int), 5, OnUIThread:false, [] +codetoanalyze/java/performance/EnumTest.java, MyEnum.valueOf(java.lang.String):MyEnum, 7, OnUIThread:false, [] +codetoanalyze/java/performance/EnumTest.java, MyEnum.values():MyEnum[], 7, OnUIThread:false, [] +codetoanalyze/java/performance/EvilCfg.java, EvilCfg.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/EvilCfg.java, EvilCfg.foo(int,int,boolean):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 15] +codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess$Test.(codetoanalyze.java.performance.FieldAccess), 6, OnUIThread:false, [] +codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess.iterate_upto_field_size(codetoanalyze.java.performance.FieldAccess$Test):void, 6 + 6 ⋅ test.a, OnUIThread:false, [{test.a},Loop at line 16] +codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assert_get_list_constant():void, 81, OnUIThread:false, [] +codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assert_get_map_constant():void, 102, OnUIThread:false, [] +codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assert_not_null_explanation_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false, [{1+max(0, x)},Loop at line 19,{x},Loop at line 19] +codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assert_not_null_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false, [{1+max(0, x)},Loop at line 15,{x},Loop at line 15] +codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assume_not_null_explanation_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false, [{1+max(0, x)},Loop at line 27,{x},Loop at line 27] +codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.assume_not_null_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false, [{1+max(0, x)},Loop at line 23,{x},Loop at line 23] +codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.nullsafe_fixme_linear(java.lang.Integer):void, 5 + 5 ⋅ x + 7 ⋅ (1+max(0, x)), OnUIThread:false, [{1+max(0, x)},Loop at line 31,{x},Loop at line 31] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$AbsImpl.(InheritanceTest), 6, OnUIThread:false, [] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl1.(InheritanceTest), 12, OnUIThread:false, [] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl1.foo(int):void, 5 + 5 ⋅ x, OnUIThread:false, [{x},Loop at line 34] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl2.(InheritanceTest), 12, OnUIThread:false, [] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$Impl2.foo(int):void, 1, OnUIThread:false, [] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl.(InheritanceTest), 6, OnUIThread:false, [] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl.foo(int):void, 5 + 5 ⋅ x, OnUIThread:false, [{x},Loop at line 15] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl4.(InheritanceTest), 6, OnUIThread:false, [] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl4.top_cost(InheritanceTest$MyInterface3):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 58] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest.call_interface_method2_linear(InheritanceTest$MyInterface2,int):void, 8 + 5 ⋅ x, OnUIThread:false, [{x},call to void InheritanceTest$Impl1.foo(int),Loop at line 34] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest.call_interface_method_linear(InheritanceTest$MyInterface,int):void, 8 + 5 ⋅ x, OnUIThread:false, [{x},call to void InheritanceTest$UniqueImpl.foo(int),Loop at line 15] +codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest.ignore_top_costed_sub_method_constant(InheritanceTest$MyInterface3,InheritanceTest$MyInterface4):void, 4, OnUIThread:false, [] +codetoanalyze/java/performance/IntTest.java, IntTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/IntTest.java, IntTest.control_var_band_add_constant(int,int):void, 186, OnUIThread:false, [] +codetoanalyze/java/performance/IntTest.java, IntTest.control_var_band_constant(int,int):void, 186, OnUIThread:false, [] +codetoanalyze/java/performance/IntTest.java, IntTest.intValue_linear(java.lang.Integer):void, 5 + 5 ⋅ mKBytesToSend + 3 ⋅ (1+max(0, mKBytesToSend)), OnUIThread:false, [{1+max(0, mKBytesToSend)},Loop at line 9,{mKBytesToSend},Loop at line 9] +codetoanalyze/java/performance/IntTest.java, IntTest.static_Integer_top():void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 15] +codetoanalyze/java/performance/IntTest.java, IntTest.valueOf_linear(int):void, 8 + 5 ⋅ p + 3 ⋅ (1+max(0, p)), OnUIThread:false, [{1+max(0, p)},Loop at line 20,{p},Loop at line 20] +codetoanalyze/java/performance/Invariant.java, Invariant.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Invariant.java, Invariant.do_while_invariant(int,int):void, 5 + 3 ⋅ (k - 1) + 4 ⋅ (max(1, k)), OnUIThread:false, [{max(1, k)},Loop at line 58,{k - 1},Loop at line 58] +codetoanalyze/java/performance/Invariant.java, Invariant.formal_not_invariant_FP(int,int):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 31] +codetoanalyze/java/performance/Invariant.java, Invariant.list_size_invariant(java.util.List):void, 5 + 5 ⋅ items.length + 3 ⋅ (items.length + 1), OnUIThread:false, [{items.length + 1},Loop at line 66,{items.length},Loop at line 66] +codetoanalyze/java/performance/Invariant.java, Invariant.local_not_invariant_FP(int):void, 7 + 12 ⋅ (size + 5) + 7 ⋅ (size + 5) × (5+min(1, size)) + 4 ⋅ (5+min(0, size)), OnUIThread:false, [{5+min(0, size)},Loop at line 46,{5+min(1, size)},Loop at line 46,{size + 5},Loop at line 46] +codetoanalyze/java/performance/Invariant.java, Invariant.x_is_invariant_ok(int):void, 12 + 6 ⋅ (size + 20), OnUIThread:false, [{size + 20},Loop at line 19] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.():void, 83, OnUIThread:false, [] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.(java.lang.String,int), 5, OnUIThread:false, [] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.valueOf(java.lang.String):IteratorTest$Color, 7, OnUIThread:false, [] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest$Color.values():IteratorTest$Color[], 7, OnUIThread:false, [] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest.appendTo(java.util.Iterator):void, 3 + 10 ⋅ parts.length + 3 ⋅ (parts.length + 1), OnUIThread:false, [{parts.length + 1},Loop at line 19,{parts.length},Loop at line 19] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest.enum_iter():void, 43, OnUIThread:false, [] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest.fields_iter():void, 28, OnUIThread:false, [] +codetoanalyze/java/performance/IteratorTest.java, IteratorTest.linearIterable(java.lang.Iterable):void, 9 + 10 ⋅ elements.length + 3 ⋅ (elements.length + 1), OnUIThread:false, [{elements.length + 1},call to void IteratorTest.appendTo(Iterator),Loop at line 19,{elements.length},call to void IteratorTest.appendTo(Iterator),Loop at line 19] +codetoanalyze/java/performance/IteratorTest.java, MyClassWithFields.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/JsonArray.java, libraries.marauder.analytics.utils.json.JsonArray.(), 9, OnUIThread:false, [] +codetoanalyze/java/performance/JsonArray.java, libraries.marauder.analytics.utils.json.JsonArray.addStringEntry(java.lang.String):void, ⊤, OnUIThread:false, [Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.(), 9, OnUIThread:false, [] +codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,boolean):void, ⊤, OnUIThread:false, [Call to void JsonMap.addKeyToMap(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,double):void, ⊤, OnUIThread:false, [Call to void JsonMap.addKeyToMap(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,java.lang.Object):void, ⊤, OnUIThread:false, [Call to void JsonMap.addKeyToMap(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,java.lang.String):void, ⊤, OnUIThread:false, [Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,libraries.marauder.analytics.utils.json.JsonType):void, ⊤, OnUIThread:false, [Call to void JsonMap.addKeyToMap(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addEntry(java.lang.String,long):void, ⊤, OnUIThread:false, [Call to void JsonMap.addKeyToMap(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonMap.java, libraries.marauder.analytics.utils.json.JsonMap.addKeyToMap(java.lang.String):void, ⊤, OnUIThread:false, [Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(boolean), 14, OnUIThread:false, [] +codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(double), 14, OnUIThread:false, [] +codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(java.lang.String), ⊤, OnUIThread:false, [Call to StringBuilder JsonUtils.serialize(String),Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.(long), 14, OnUIThread:false, [] +codetoanalyze/java/performance/JsonString.java, libraries.marauder.analytics.utils.json.JsonString.toString():java.lang.String, 4, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.escape(java.lang.StringBuilder,java.lang.String):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.isValidInputType(java.lang.Object):boolean, 21, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(boolean):java.lang.String, 6, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(double):java.lang.String, 6, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.Object):java.lang.String, 45, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.String):java.lang.StringBuilder, ⊤, OnUIThread:false, [Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,boolean):void, 13, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,double):void, 13, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,java.lang.Object):void, 52, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,java.lang.String):void, ⊤, OnUIThread:false, [Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,long):void, 13, OnUIThread:false, [] +codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(long):java.lang.String, 6, OnUIThread:false, [] +codetoanalyze/java/performance/LambdaTest.java, LambdaTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/LambdaTest.java, LambdaTest.call_lambda(int):void, 21 + 5 ⋅ x, OnUIThread:false, [{x},call to void LambdaTest$Lambda$_2_0.abstractFun(int),call to void LambdaTest.access_LambdaTest$Lambda$_2_0(int),call to void LambdaTest.lambda$call_lambda$0(int),Loop at line 24] +codetoanalyze/java/performance/ListTest.java, ListTest$MyOwnObj.(ListTest), 8, OnUIThread:false, [] +codetoanalyze/java/performance/ListTest.java, ListTest$MyOwnObj.my_put():void, 5, OnUIThread:false, [] +codetoanalyze/java/performance/ListTest.java, ListTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/ListTest.java, ListTest.asList_linear(java.lang.String[]):void, 9 + 8 ⋅ array.length + 3 ⋅ (array.length + 1), OnUIThread:false, [{array.length + 1},Loop at line 42,{array.length},Loop at line 42] +codetoanalyze/java/performance/ListTest.java, ListTest.call_iterate_elements_linear(java.util.List,java.util.List):void, 26 + 5 ⋅ (l2.length + l1.length) + 3 ⋅ (l2.length + l1.length + 1), OnUIThread:false, [{l2.length + l1.length + 1},call to void ListTest.iterate_elements_linear(List),Loop at line 59,{l2.length + l1.length},call to void ListTest.iterate_elements_linear(List),Loop at line 59] +codetoanalyze/java/performance/ListTest.java, ListTest.indexOfImpl_linear(java.util.List,java.lang.Object):int, 14 + 11 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 18,{list.length},Loop at line 18] +codetoanalyze/java/performance/ListTest.java, ListTest.iter_multiple_list1_linear(java.util.List,java.util.List):void, 19 + 12 ⋅ (l2.length + l1.length) + 3 ⋅ (l2.length + l1.length + 1), OnUIThread:false, [{l2.length + l1.length + 1},Loop at line 76,{l2.length + l1.length},Loop at line 76] +codetoanalyze/java/performance/ListTest.java, ListTest.iter_multiple_list2_linear(java.util.List,java.util.List):void, 16 + 8 ⋅ (l2.length + l1.length) + 3 ⋅ (l2.length + l1.length + 1), OnUIThread:false, [{l2.length + l1.length + 1},Loop at line 88,{l2.length + l1.length},Loop at line 88] +codetoanalyze/java/performance/ListTest.java, ListTest.iter_multiple_list3_linear(java.util.List,java.util.List,java.util.List):void, 20 + 8 ⋅ (l2.length + l1.length + a.length) + 3 ⋅ (l2.length + l1.length + a.length + 1), OnUIThread:false, [{l2.length + l1.length + a.length + 1},Loop at line 99,{l2.length + l1.length + a.length},Loop at line 99] +codetoanalyze/java/performance/ListTest.java, ListTest.iter_my_own_obj(java.util.List):void, 22 + 14 ⋅ a.length + 6 ⋅ a.length + 3 ⋅ (a.length + 1), OnUIThread:false, [{a.length + 1},Loop at line 120,{a.length},Loop at line 123,{a.length},Loop at line 120] +codetoanalyze/java/performance/ListTest.java, ListTest.iter_relation_with_var(java.util.List):void, 11 + 10 ⋅ a.length + 5 ⋅ a.length + 3 ⋅ (a.length + 1), OnUIThread:false, [{a.length + 1},Loop at line 104,{a.length},Loop at line 107,{a.length},Loop at line 104] +codetoanalyze/java/performance/ListTest.java, ListTest.iterate_elements_linear(java.util.List):void, 6 + 5 ⋅ l.length + 3 ⋅ (l.length + 1), OnUIThread:false, [{l.length + 1},Loop at line 59,{l.length},Loop at line 59] +codetoanalyze/java/performance/ListTest.java, ListTest.sort_comparator_nlogn(java.util.List):void, 8 + people.length × log(people.length), OnUIThread:false, [{people.length},Modeled call to List.sort,{people.length},Modeled call to List.sort] +codetoanalyze/java/performance/ListTest.java, ListTest.sublist(java.util.List):void, 13 + 8 ⋅ (filesList.length - 1) + 3 ⋅ filesList.length, OnUIThread:false, [{filesList.length},Loop at line 32,{filesList.length - 1},Loop at line 32] +codetoanalyze/java/performance/ListTest.java, ListTest.sublist_constant(java.util.List):void, 34, OnUIThread:false, [] +codetoanalyze/java/performance/ListTest.java, ListTest.two_lists(java.util.List,java.util.List):java.util.List, 13, OnUIThread:false, [] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops$C.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops$MyLinkedList.(codetoanalyze.java.performance.Loops), 6, OnUIThread:false, [] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops$MyLinkedList.getNext():codetoanalyze.java.performance.Loops$MyLinkedList, 4, OnUIThread:false, [] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.charsequence_length_linear(java.lang.CharSequence):void, 5 + 5 ⋅ seq.length + 3 ⋅ (seq.length + 1), OnUIThread:false, [{seq.length + 1},Loop at line 115,{seq.length},Loop at line 115] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.do_while_independent_of_p(int):int, 253, OnUIThread:false, [] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.dumb0(long[],int):void, 5 + 25 ⋅ (length - 1), OnUIThread:false, [{length - 1},Loop at line 44] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.dumbSort(long[],long[],int):void, 5 + 59 ⋅ (length - 1) × (length - 1) + 8 ⋅ length, OnUIThread:false, [{length},Loop at line 54,{length - 1},Loop at line 55,{length - 1},Loop at line 54] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, ⊤, OnUIThread:false, [Unbounded value x,call to void Loops.linear(int),Loop at line 86] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.linear(int):void, 5 + 5 ⋅ x, OnUIThread:false, [{x},Loop at line 86] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.modeled_range_linear(java.nio.channels.FileChannel,java.nio.ByteBuffer):void, 6 + 14 ⋅ FileChannel.read(...).modeled, OnUIThread:false, [{FileChannel.read(...).modeled},Modeled call to read(...)] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.nested_do_while_FP(int):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 34] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.similar(codetoanalyze.java.performance.Loops$C[],codetoanalyze.java.performance.Loops$C[]):boolean, 47 + 26 ⋅ x.length, OnUIThread:false, [{x.length},Loop at line 77] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.string_concat_linear(java.lang.String,java.lang.String):void, 11 + 5 ⋅ (p.length + s.length) + 3 ⋅ (p.length + s.length + 1), OnUIThread:false, [{p.length + s.length + 1},Loop at line 103,{p.length + s.length},Loop at line 103] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.string_length_linear(java.lang.String):void, 5 + 5 ⋅ s.length + 3 ⋅ (s.length + 1), OnUIThread:false, [{s.length + 1},Loop at line 98,{s.length},Loop at line 98] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol():void, ⊤, OnUIThread:false, [Unbounded value x,call to void Loops.linear(int),Loop at line 86] +codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.zeropad_linear_FN(java.lang.String,java.lang.String):void, 18, OnUIThread:false, [] +codetoanalyze/java/performance/MapTest.java, MapTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/MapTest.java, MapTest.entrySet_linear(java.util.Map):void, 9 + 8 ⋅ map.length + 3 ⋅ (map.length + 1), OnUIThread:false, [{map.length + 1},Loop at line 17,{map.length},Loop at line 17] +codetoanalyze/java/performance/MapTest.java, MapTest.keySet_linear(java.util.Map):void, 9 + 8 ⋅ map.length + 3 ⋅ (map.length + 1), OnUIThread:false, [{map.length + 1},Loop at line 13,{map.length},Loop at line 13] +codetoanalyze/java/performance/MapTest.java, MapTest.putAll_linear(java.util.Map):void, 15 + 8 ⋅ map.length + 3 ⋅ (map.length + 1), OnUIThread:false, [{map.length + 1},Loop at line 28,{map.length},Loop at line 28] +codetoanalyze/java/performance/MapTest.java, MapTest.values_linear(java.util.Map):void, 15 + 8 ⋅ (map.length + 1) + 3 ⋅ (map.length + 2), OnUIThread:false, [{map.length + 2},Loop at line 22,{map.length + 1},Loop at line 22] +codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_max2_constant():void, 191, OnUIThread:false, [] +codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_with_max_linear(int):void, 11 + 5 ⋅ (max(1, x)), OnUIThread:false, [{max(1, x)},call to void MathTest.linear(int),Loop at line 28] +codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.call_with_min_constant():void, 25, OnUIThread:false, [] +codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.linear(int):void, 5 + 5 ⋅ p, OnUIThread:false, [{p},Loop at line 28] +codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.max2_symbolic(int,int):void, 9 + 9 ⋅ (max(x, y)), OnUIThread:false, [{max(x, y)},Loop at line 20] +codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.max_symbolic(int[]):void, 5 + 5 ⋅ arr.length + 4 ⋅ (arr.length + 1), OnUIThread:false, [{arr.length + 1},Loop at line 16,{arr.length},Loop at line 16] +codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.MathTest.min_constant(int[]):void, 5 + 5 ⋅ (min(3, arr.length)) + 4 ⋅ (1+min(3, arr.length)), OnUIThread:false, [{1+min(3, arr.length)},Loop at line 12,{min(3, arr.length)},Loop at line 12] +codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest$get_five.(PreconditionTest), 6, OnUIThread:false, [] +codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkArgument_constant(java.util.ArrayList):void, 16 + 5 ⋅ (min(2, list.length)) + 3 ⋅ (1+min(2, list.length)), OnUIThread:false, [{1+min(2, list.length)},Loop at line 14,{min(2, list.length)},Loop at line 14] +codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkNotNull_linear(java.util.ArrayList,java.lang.Object):void, 13 + 8 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 37,{list.length},Loop at line 37] +codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.checkState_constant(java.util.ArrayList):void, 16 + 5 ⋅ (min(2, list.length)) + 3 ⋅ (1+min(2, list.length)), OnUIThread:false, [{1+min(2, list.length)},Loop at line 20,{min(2, list.length)},Loop at line 20] +codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.constant_array(int[]):void, 20 + 17 ⋅ (min(5, a.length)), OnUIThread:false, [{min(5, a.length)},Loop at line 30] +codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.append_linear(java.lang.String):void, 25 + 5 ⋅ (s.length + 2) + 3 ⋅ (s.length + 3), OnUIThread:false, [{s.length + 3},call to void StringBuilderTest.new_linear(String),Loop at line 13,{s.length + 2},call to void StringBuilderTest.new_linear(String),Loop at line 13] +codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_capacity_constant():void, 24, OnUIThread:false, [] +codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_constant():void, 64, OnUIThread:false, [] +codetoanalyze/java/performance/StringBuilderTest.java, StringBuilderTest.new_linear(java.lang.String):void, 12 + 5 ⋅ s.length + 3 ⋅ (s.length + 1), OnUIThread:false, [{s.length + 1},Loop at line 13,{s.length},Loop at line 13] +codetoanalyze/java/performance/StringTest.java, StringTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/StringTest.java, StringTest.byte_array_constructor_linear(byte[]):void, 9 + 5 ⋅ data.length + 3 ⋅ (data.length + 1), OnUIThread:false, [{data.length + 1},Loop at line 55,{data.length},Loop at line 55] +codetoanalyze/java/performance/StringTest.java, StringTest.call_split_constant():void, 39, OnUIThread:false, [] +codetoanalyze/java/performance/StringTest.java, StringTest.call_string_constant():void, 17, OnUIThread:false, [] +codetoanalyze/java/performance/StringTest.java, StringTest.call_string_constructor_constant():void, 18, OnUIThread:false, [] +codetoanalyze/java/performance/StringTest.java, StringTest.class_get_canonical_name_constant(java.lang.Integer):void, 252, OnUIThread:false, [] +codetoanalyze/java/performance/StringTest.java, StringTest.index_substring_linear():java.lang.String, 17 + this.mId.length, OnUIThread:false, [{this.mId.length},call to int StringTest.indexof_linear(String),Modeled call to String.indexOf] +codetoanalyze/java/performance/StringTest.java, StringTest.indexof_constant(java.lang.String):int, 8, OnUIThread:false, [] +codetoanalyze/java/performance/StringTest.java, StringTest.indexof_from_linear(java.lang.String,int):int, 6 + (-j + m.length), OnUIThread:false, [{-j + m.length},Modeled call to String.indexOf] +codetoanalyze/java/performance/StringTest.java, StringTest.indexof_linear(java.lang.String):int, 5 + m.length, OnUIThread:false, [{m.length},Modeled call to String.indexOf] +codetoanalyze/java/performance/StringTest.java, StringTest.indexof_quadratic(java.lang.String,java.lang.String):int, 6 + m.length × n.length, OnUIThread:false, [{n.length},Modeled call to String.indexOf,{m.length},Modeled call to String.indexOf] +codetoanalyze/java/performance/StringTest.java, StringTest.last_index_of_linear(java.lang.String):void, 8 + 5 ⋅ (s.length - 1), OnUIThread:false, [{s.length - 1},Loop at line 96] +codetoanalyze/java/performance/StringTest.java, StringTest.last_index_of_linear_FP(java.lang.String):void, 8 + 6 ⋅ (s.length - 1) × (s.length + 1) + 4 ⋅ (1+min(1, s.length))², OnUIThread:false, [{1+min(1, s.length)},Loop at line 103,{1+min(1, s.length)},Loop at line 103,{s.length + 1},Loop at line 103,{s.length - 1},Loop at line 103] +codetoanalyze/java/performance/StringTest.java, StringTest.replace_linear(java.lang.String):void, 8 + 5 ⋅ s.length + 3 ⋅ (s.length + 1), OnUIThread:false, [{s.length + 1},Loop at line 91,{s.length},Loop at line 91] +codetoanalyze/java/performance/StringTest.java, StringTest.split_linear(java.lang.String):void, 9 + 6 ⋅ (-1+max(2, s.length)), OnUIThread:false, [{-1+max(2, s.length)},Loop at line 40] +codetoanalyze/java/performance/StringTest.java, StringTest.split_with_limit_linear(java.lang.String,int):void, 10 + 6 ⋅ (max(1, limit)), OnUIThread:false, [{max(1, limit)},Loop at line 45] +codetoanalyze/java/performance/StringTest.java, StringTest.startsWith_constant():java.lang.String, 18, OnUIThread:false, [] +codetoanalyze/java/performance/StringTest.java, StringTest.string_constructor_constant():void, 45, OnUIThread:false, [] +codetoanalyze/java/performance/StringTest.java, StringTest.string_constructor_linear(java.lang.String):void, 9 + 5 ⋅ s.length + 3 ⋅ (s.length + 1), OnUIThread:false, [{s.length + 1},Loop at line 71,{s.length},Loop at line 71] +codetoanalyze/java/performance/StringTest.java, StringTest.substring_linear(java.lang.String,int,int):void, 13 + 8 ⋅ (-x + y), OnUIThread:false, [{-x + y},Loop at line 86] +codetoanalyze/java/performance/StringTest.java, StringTest.substring_no_end_linear(java.lang.String,int):void, 12 + 8 ⋅ (-x + s.length), OnUIThread:false, [{-x + s.length},Loop at line 81] +codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.test_switch():int, 798, OnUIThread:false, [] +codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.vanilla_switch(int):void, 50, OnUIThread:false, [] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.AllMethodsOnUiThread.(), 3, OnUIThread:true, [] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.AllMethodsOnUiThread.bar_UIThread_linear():int, 9 + 10 ⋅ (max(0, this.f)), OnUIThread:true, [{max(0, this.f)},Loop at line 37] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.AllMethodsOnUiThread.foo_UIThread_constant():void, 3, OnUIThread:true, [] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.ExtendsClassOnUiThread.(), 5, OnUIThread:true, [] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.ExtendsClassOnUiThread.bar_UIThread_linear():int, 14 + 10 ⋅ (max(0, this.f)), OnUIThread:true, [{max(0, this.f)},call to int AllMethodsOnUiThread.bar_UIThread_linear(),Loop at line 37] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.ExtendsClassOnUiThread.foo_UIThread_constant():void, 3, OnUIThread:true, [] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.(codetoanalyze.java.checkers.UIAnnotationTest), 6, OnUIThread:false, [] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.constant():void, 1, OnUIThread:false, [] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.loop_UIThread_linear(int):void, 5 + 5 ⋅ x, OnUIThread:true, [{x},Loop at line 76] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.loop_linear(int):void, 5 + 5 ⋅ x, OnUIThread:false, [{x},Loop at line 84] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.onBindMethod_linear(int):void, 8 + 5 ⋅ x, OnUIThread:true, [{x},call to void UIAnnotationTest$Annotations.loop_linear(int),Loop at line 84] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$Annotations.onClick_linear(int):void, 5 + 5 ⋅ x, OnUIThread:true, [{x},Loop at line 90] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$WeirdAnnotation.(codetoanalyze.java.checkers.UIAnnotationTest), 6, OnUIThread:false, [] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest$WeirdAnnotation.foo_linear():void, 6 + 6 ⋅ this.f, OnUIThread:false, [{this.f},Loop at line 68] +codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest$AbstractC.(UnknownCallsTest), 6, OnUIThread:false, [] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 94] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, ⊤, OnUIThread:false, [Call to void UnknownCallsTest.loop_over_charArray_FP(StringBuilder,String),Unbounded loop,Loop at line 51] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_may_throw_exception_constant():void, 220, OnUIThread:false, [] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_throw_exception_linear():void, 5 + 5 ⋅ UnknownCallsTest.throw_exception().ub + 8 ⋅ (1+max(0, UnknownCallsTest.throw_exception().ub)), OnUIThread:false, [{1+max(0, UnknownCallsTest.throw_exception().ub)},Loop at line 71,{UnknownCallsTest.throw_exception().ub},Loop at line 71] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.jsonArray_constant():void, 22, OnUIThread:false, [] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.jsonArray_linear(org.json.JSONArray):void, 8 + 5 ⋅ jsonArray.length, OnUIThread:false, [{jsonArray.length},Loop at line 18] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 51] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.may_throw_exception():int, 13, OnUIThread:false, [] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.read_max_cost(java.io.InputStream,byte[],int,int,java.util.ArrayList):int, 25 + 5 ⋅ (byteCount + 1), OnUIThread:false, [{byteCount + 1},Loop at line 46] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.read_sum_cost(java.io.InputStream,byte[],int,int,java.util.ArrayList):int, 20 + 6 ⋅ 2⋅byteCount, OnUIThread:false, [{2⋅byteCount},Loop at line 33] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.throw_exception():int, 6, OnUIThread:false, [] +codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.unmodeled_impure_linear(java.util.ArrayList):void, 5 + 13 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 61,{list.length},Loop at line 61] +codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.(), 3, OnUIThread:false, [] +codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.double_prune_unreachable_FN(double):void, 13, OnUIThread:false, [] +codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.infeasible_path_unreachable():void, ⊥, OnUIThread:false, [Unreachable node] +codetoanalyze/java/performance/UnreachableAtExitTest.java, UnreachableAtExitTest.unit_cost():void, 1, OnUIThread:false, [] diff --git a/infer/tests/codetoanalyze/objc/performance/cost-issues.exp b/infer/tests/codetoanalyze/objc/performance/cost-issues.exp index 8c61e24ec..3b8e72e53 100644 --- a/infer/tests/codetoanalyze/objc/performance/cost-issues.exp +++ b/infer/tests/codetoanalyze/objc/performance/cost-issues.exp @@ -1,9 +1,9 @@ -codetoanalyze/objc/performance/araii.m, Araii.dealloc, 4, OnUIThread:false -codetoanalyze/objc/performance/araii.m, Araii.initWithBuffer, 15, OnUIThread:false -codetoanalyze/objc/performance/araii.m, memory_leak_raii_main, 18, OnUIThread:false -codetoanalyze/objc/performance/cf.m, array_count_linear, 6 + 3 ⋅ arr.length + 2 ⋅ (arr.length + 1), OnUIThread:false -codetoanalyze/objc/performance/cf.m, cf_array_create_copy_linear, 1010, OnUIThread:false -codetoanalyze/objc/performance/cf.m, cf_array_create_linear, 11 + 3 ⋅ x + 2 ⋅ (1+max(0, x)), OnUIThread:false -codetoanalyze/objc/performance/cf.m, dict_count_linear, 6 + 3 ⋅ dict.length + 2 ⋅ (dict.length + 1), OnUIThread:false -codetoanalyze/objc/performance/control.m, __infer_globals_initializer_gvar, 2, OnUIThread:false -codetoanalyze/objc/performance/control.m, wrong_cvar_FP, ⊤, OnUIThread:false +codetoanalyze/objc/performance/araii.m, Araii.dealloc, 4, OnUIThread:false, [] +codetoanalyze/objc/performance/araii.m, Araii.initWithBuffer, 15, OnUIThread:false, [] +codetoanalyze/objc/performance/araii.m, memory_leak_raii_main, 18, OnUIThread:false, [] +codetoanalyze/objc/performance/cf.m, array_count_linear, 6 + 3 ⋅ arr.length + 2 ⋅ (arr.length + 1), OnUIThread:false, [{arr.length + 1},Loop at line 18, column 3,{arr.length},Loop at line 18, column 3] +codetoanalyze/objc/performance/cf.m, cf_array_create_copy_linear, 1010, OnUIThread:false, [] +codetoanalyze/objc/performance/cf.m, cf_array_create_linear, 11 + 3 ⋅ x + 2 ⋅ (1+max(0, x)), OnUIThread:false, [{1+max(0, x)},Loop at line 41, column 3,{x},Loop at line 41, column 3] +codetoanalyze/objc/performance/cf.m, dict_count_linear, 6 + 3 ⋅ dict.length + 2 ⋅ (dict.length + 1), OnUIThread:false, [{dict.length + 1},Loop at line 24, column 3,{dict.length},Loop at line 24, column 3] +codetoanalyze/objc/performance/control.m, __infer_globals_initializer_gvar, 2, OnUIThread:false, [] +codetoanalyze/objc/performance/control.m, wrong_cvar_FP, ⊤, OnUIThread:false, [Unbounded loop,Loop at line 20, column 3]