[cost] Brush up tests (3)

Summary:
Fix misleading test names. Correct comments/FP/ok/bad markers. Remove reduntant tests.
To be continued...

Reviewed By: jvillard

Differential Revision: D21951893

fbshipit-source-id: be9124740
master
Ezgi Çiçek 5 years ago committed by Facebook GitHub Bot
parent e611f0e8b3
commit a8625d5e68

@ -82,6 +82,10 @@ public class Array {
for (int i = 0; i < r.length; i++) {}
}
// Inferbo abstracts allocated memory locations to allocation sites
// (program points) and only keeps one location. This is a FP
// because our domain cannot express joining of two symbolic values
// and gives Top instead.
void call_gen_and_iter_types_linear_FP(int x, int y) {
String[] r1 = gen_and_iter_types(x);
String[] r2 = gen_and_iter_types(y);

@ -20,7 +20,7 @@ public class Break {
/* calling break_loop with a negative t should give constant
cost. Currently, this doesn't work because parameters are removed
when computing the env size :( */
private static int break_constant(int p) {
private static int break_constant_FP(int p) {
return break_loop(p, -1);
}

@ -18,16 +18,24 @@ public class Compound_loop {
return j;
}
/* p should be in control vars */
private static void while_and_or(int p) {
/* p is an invariant control var. If p is 1, it runs forever */
private static void while_and_or_top(int p) {
int i = 0;
while (p == 1 || (i < 30 && i >= 0)) {
i++;
}
}
/* p is an invariant control var */
private static void while_and_and_constant(int p) {
int i = 0;
while (p == 1 && (i < 30 && i >= 0)) {
i++;
}
}
// should be constant cost
int nested_while_and_or(int p) {
int nested_while_and_or_constant(int p) {
int i = 0;
int j = 3 * i;
while (p == 1 || (i < 30 && i >= 0)) {

@ -8,7 +8,7 @@ package codetoanalyze.java.performance;
public class Continue {
/* Expected 1000 * 1000 / 2 */
int continue_outer_loop() {
int continue_outer_loop_constant() {
outer:
for (int i = 2; i < 1000; i++) {
for (int j = 2; j < i; j++) {

@ -11,8 +11,7 @@ import java.io.InputStream;
public class Cost_test {
// Cost: 5
private static int foo_OK() {
private static int foo_constant() {
int i, j;
i = 17;
j = 31;
@ -20,34 +19,31 @@ public class Cost_test {
return i + j + 3 + 7;
}
// Cost: 17
private static int bar_OK() {
private static int bar_constant() {
int j = 0;
j++;
j++;
j++;
j = foo_OK();
j = foo_constant();
j++;
return j;
}
// Cost: 25
private static int cond_OK(int i) {
private static int cond_constant(int i) {
int x;
if (i < 0) {
x = bar_OK();
x = bar_constant();
} else {
x = 1;
}
return x;
}
// Cost: 5
private static void alias_OK() {
private static void alias_constant() {
int i = 0, j;
@ -55,8 +51,7 @@ public class Cost_test {
i = ++i;
}
// Cost: 7
private static void alias2_OK() {
private static void alias2_constant() {
int i = 0, j, z;
@ -67,60 +62,52 @@ public class Cost_test {
i = z;
}
// Cost: 1101
private static int loop0_bad() {
private static int loop0_constant() {
for (int i = 0; i < 100; i++) {
alias2_OK();
alias2_constant();
}
return 0;
}
// Cost: 1203
private static int loop1_bad() {
private static int loop1_constant() {
int k = 100;
for (int i = 0; i < k; i++) {
alias2_OK();
alias2_constant();
}
return 0;
}
// Expected: Linear bound
private static int loop2(int k) {
private static int loop2_linear(int k) {
for (int i = 0; i < k; i++) {
alias2_OK();
alias2_constant();
}
return 0;
}
// Expected: constant
private static int loop3(int k) {
private static int loop3_constant(int k) {
for (int i = k; i < k + 18; i++) {
alias2_OK();
alias2_constant();
}
return 0;
}
// Cost: 218
// Shows that calling many times non expensive function can
// result in an expensive computation
private static int main_bad() {
private static int main_constant() {
int k1, k2, k3, k4;
cond_OK(2);
k1 = bar_OK() + foo_OK() + cond_OK(15) * 2;
k2 = bar_OK() + foo_OK() + cond_OK(17) * 3;
k3 = bar_OK() + foo_OK() + cond_OK(11) * 3;
k4 = bar_OK() + foo_OK() + cond_OK(19) * 3;
cond_constant(2);
k1 = bar_constant() + foo_constant() + cond_constant(15) * 2;
k2 = bar_constant() + foo_constant() + cond_constant(17) * 3;
k3 = bar_constant() + foo_constant() + cond_constant(11) * 3;
k4 = bar_constant() + foo_constant() + cond_constant(19) * 3;
return 0;
}
// Cost: 1
private static void unitCostFunction() {}
private static void unitCostFunction_constant() {}
boolean rand() {
if (Math.random() > 0.5) {
@ -130,15 +117,14 @@ public class Cost_test {
}
}
// Cost: Linear to n, not b
// Cost: Linear in n
void ignore_boolean_symbols_linear(boolean b, int n) {
for (int i = 0; b && i < n; i++) {
b = true;
}
}
// Cost should not include the symbol of b.
void ignore_boolean_symbols_constant1(boolean b) {
void ignore_boolean_symbols1_constant(boolean b) {
for (; b; ) {
if (rand()) {
b = true;
@ -146,8 +132,7 @@ public class Cost_test {
}
}
// Cost should not include the symbol of b.
void ignore_boolean_symbols_constant2(boolean b) {
void ignore_boolean_symbols2_constant(boolean b) {
for (; b; ) {
if (rand()) {
b = false;
@ -155,7 +140,6 @@ public class Cost_test {
}
}
// Cost should not include the symbol of f.
void ignore_float_symbols_constant(float f) {
for (; f < (float) 1.0; ) {
if (rand()) {
@ -164,7 +148,6 @@ public class Cost_test {
}
}
// Cost should not include the symbol of d.
void ignore_double_symbols_constant(double d) {
for (; d < (double) 1.0; ) {
if (rand()) {
@ -173,7 +156,6 @@ public class Cost_test {
}
}
// Cost should not include the symbol of c.
void ignore_character_symbols_constant(char c) {
for (; c < 'z'; ) {
if (rand()) {
@ -182,7 +164,7 @@ public class Cost_test {
}
}
void call_inputstream_read_linear(InputStream is) throws IOException {
void call_inputstream_read_constant(InputStream is) throws IOException {
int total = 0;
int r;
byte[] buf = new byte[20];
@ -211,12 +193,11 @@ public class Cost_test {
for (int i = 0; i < x * y; i++) {}
}
void call_mult_symbold_quadratic(int n) {
void call_mult_symbols_quadratic(int n) {
for (int i = 0; i < n; i++) {}
mult_symbols_quadratic(n, n);
}
// Expected: x^2, got x^2
void quadratic(int x) {
for (int i = 0; i < x * x; i++) {}
}

@ -10,7 +10,7 @@ package codetoanalyze.java.performance;
public class Cost_test_deps {
// Loop's execution count doesn't depend on values of p,t,k
private static int loop_no_dep1(int k) {
private static int loop_no_dep1_constant(int k) {
int p = 0;
int t = 2 + k;
for (int i = 0; i < 100; i++) {
@ -19,21 +19,21 @@ public class Cost_test_deps {
return p;
}
private static int foo(int i, int j) {
private static int foo_constant(int i, int j) {
return i + j;
}
// Loop's execution count doesn't depend on values of p,t,k
private static int loop_no_dep2(int k) {
private static int loop_no_dep2_constant(int k) {
int p = 0;
int t = foo(p, k);
int t = foo_constant(p, k);
for (int i = 0; i < 100; i++) {
p++;
}
return p;
}
private static void if_bad(int j) {
private static void if_constant(int j) {
int p = 10;
if (p < 10 + j) {
p++;
@ -45,7 +45,7 @@ public class Cost_test_deps {
}
}
private static int if_bad_loop() {
private static int if_loop_constant() {
int p = 10;
for (int j = 0; j < 5; j++) {
if (j < 2) {
@ -60,7 +60,7 @@ public class Cost_test_deps {
return p;
}
private static int two_loops() {
private static int two_loops_constant() {
int p = 10;
int k = 3;
int t = 2 + k;
@ -73,7 +73,7 @@ public class Cost_test_deps {
return p;
}
private static int loop_despite_inferbo(int p) {
private static int loop_despite_inferbo_constant(int p) {
int k = 100;
for (int i = 0; i < k; i++) {
@ -85,8 +85,7 @@ public class Cost_test_deps {
return p;
}
/* Expected: 5 * 100 */
private static int nested_loop() {
private static int nested_loop_constant() {
int k = 0;
for (int i = 0; i < 5; i++) {
A:
@ -98,7 +97,7 @@ public class Cost_test_deps {
return k;
}
private static int real_while() {
private static int real_while_constant() {
int i = 0;
int j = 3 * i;
while (i < 30) {

@ -12,7 +12,7 @@ public class FieldAccess {
int a;
}
void iterate_upto_field_size(Test test) {
void iterate_upto_field_size_linear(Test test) {
for (int ci = 0; ci < test.a; ++ci) {}
}
}

@ -12,7 +12,7 @@ import java.nio.channels.FileChannel;
public class Loops {
static int do_while_independent_of_p(int p) {
static int do_while_independent_of_p_constant(int p) {
int a = 0;
do {
if (p == 15) {
@ -24,8 +24,8 @@ public class Loops {
return 0;
}
/* can't handle nested loops yet, but control vars of both loops must
be {a, b} */
/* can't handle this type of nested loops properly, but control vars
of both loops must be {a, b} */
static void nested_do_while_FP(int p) {
int a = 10;
int b = 0;
@ -40,7 +40,7 @@ public class Loops {
} while (a < 20);
}
static void dumb0(long[] a, int length) {
static void dumb_linear(long[] a, int length) {
for (int i = 1; i < length; i++) {
if (a[i] < a[i - 1]) {
a[i - 1] = 0;
@ -50,7 +50,7 @@ public class Loops {
}
}
static void dumbSort(long[] a, long[] b, int length) {
static void dumbSort_quadratic(long[] a, long[] b, int length) {
for (int i = length - 1; i >= 0; --i) {
for (int j = 0; j < i; ++j) {
if (a[j] * b[j + 1] > a[j + 1] * b[j]) {
@ -70,7 +70,7 @@ public class Loops {
public float[] f;
}
static boolean similar(C[] x, C[] y) {
static boolean similar_linear(C[] x, C[] y) {
if (x == null || y == null || x.length != y.length) {
return false;
}
@ -82,16 +82,16 @@ public class Loops {
return true;
}
static void linear(int x) {
static void loop_linear(int x) {
for (int i = 0; i < x; i++) {}
}
static void unboundedSymbol() {
static void unboundedSymbol_FP() {
int infinite = 9;
for (int i = 0; i < 999; i++) {
infinite *= infinite;
}
linear(infinite);
loop_linear(infinite);
}
void string_length_linear(String s) {
@ -142,6 +142,6 @@ public class Loops {
n++;
p = p.getNext();
}
linear(n);
loop_linear(n);
}
}

@ -20,13 +20,13 @@ class PreconditionTest {
for (int i = 0; i < list.size(); i++) {}
}
public class get_five {
public class Constant {
public static final int FIVE = 5;
}
// should be constant
static void constant_array(int[] a) {
Preconditions.checkArgument(a.length == get_five.FIVE);
Preconditions.checkArgument(a.length == Constant.FIVE);
for (int i : a) {
Preconditions.checkArgument(i >= 0);
}

@ -67,6 +67,8 @@ class UnknownCallsTest {
throw new IllegalStateException();
}
// specifically for exceptions, we generate a symbolic value to
// prevent poisoning the callees with Tops.
void call_throw_exception_linear() {
for (int i = 0; i < throw_exception(); i++) {}
}

@ -15,7 +15,7 @@ codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.
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.call_gen_and_iter_types_linear_FP(int,int):void, , OnUIThread:false, [Unbounded loop,Loop at line 92]
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, []
@ -23,7 +23,7 @@ codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.
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_constant():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.toArray_linear(java.util.ArrayList):void, 6 + 6 ⋅ list.length + 3 ⋅ (list.length + 1), OnUIThread:false, [{list.length + 1},Loop at line 96,{list.length},Loop at line 96]
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.<init>(), 3, OnUIThread:false, []
codetoanalyze/java/performance/ArrayCost.java, ArrayCost.ArrayCost(int[]):void, 8 + 5 ⋅ mag.length, OnUIThread:false, [{mag.length},Loop at line 15]
@ -77,7 +77,7 @@ codetoanalyze/java/performance/ArrayListTest.java, LexicographicComparator.compa
codetoanalyze/java/performance/ArrayListTest.java, LexicographicComparator.compare(java.lang.Object,java.lang.Object):int, 18, OnUIThread:false, []
codetoanalyze/java/performance/ArrayListTest.java, Person.<init>(java.lang.String,int), 9, OnUIThread:false, []
codetoanalyze/java/performance/Break.java, codetoanalyze.java.performance.Break.<init>(), 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_constant_FP(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.<init>(), 3, OnUIThread:false, []
@ -116,48 +116,49 @@ codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.unmodifiabl
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.<init>(), 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/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 22, OnUIThread:false, []
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_and_constant(int):void, 248, OnUIThread:false, []
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or_top(int):void, , OnUIThread:false, [Unbounded loop,Loop at line 24]
codetoanalyze/java/performance/Continue.java, codetoanalyze.java.performance.Continue.<init>(), 3, OnUIThread:false, []
codetoanalyze/java/performance/Continue.java, codetoanalyze.java.performance.Continue.continue_outer_loop():int, 7963052, OnUIThread:false, []
codetoanalyze/java/performance/Continue.java, codetoanalyze.java.performance.Continue.continue_outer_loop_constant():int, 7963052, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.CloneTest.<init>(), 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.<init>(), 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.alias2_constant():void, 8, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.alias_constant():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.bar_constant():int, 19, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_inputstream_read_constant(java.io.InputStream):void, 27308, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_mult_symbols_quadratic(int):void, 14 + 5 ⋅ n + 6 ⋅ n², OnUIThread:false, [{n},call to void Cost_test.mult_symbols_quadratic(int,int),Loop at line 193,{n},call to void Cost_test.mult_symbols_quadratic(int,int),Loop at line 193,{n},Loop at line 197]
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.cond_constant(int):int, 28, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.foo_constant():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_boolean_symbols1_constant(boolean):void, 21, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.ignore_boolean_symbols2_constant(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 122,{n},Loop at line 122]
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.quadratic(int):void, 6 + 6 ⋅ x², OnUIThread:false, [{x},Loop at line 221,{x},Loop at line 221]
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop0_constant():int, 1205, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop1_constant():int, 1307, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop2_linear(int):int, 6 + 13 ⋅ k, OnUIThread:false, [{k},Loop at line 84]
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.loop3_constant(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 185,{codetoanalyze.java.performance.Cost_test.global},Loop at line 185]
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.main_constant():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 193,{x},Loop at line 193]
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.quadratic(int):void, 6 + 6 ⋅ x², OnUIThread:false, [{x},Loop at line 202,{x},Loop at line 202]
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.java, codetoanalyze.java.performance.Cost_test.unitCostFunction_constant():void, 1, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.<init>(), 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/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.foo_constant(int,int):int, 4, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_constant(int):void, 615, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_loop_constant():int, 203, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_despite_inferbo_constant(int):int, 1308, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep1_constant(int):int, 609, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep2_constant(int):int, 614, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.nested_loop_constant():int, 2547, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.real_while_constant():int, 218, OnUIThread:false, []
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.two_loops_constant():int, 549, OnUIThread:false, []
codetoanalyze/java/performance/EnumTest.java, EnumTest.<init>(), 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, []
@ -169,7 +170,7 @@ codetoanalyze/java/performance/EvilCfg.java, EvilCfg.<init>(), 3, OnUIThread:fa
codetoanalyze/java/performance/EvilCfg.java, EvilCfg.foo_FP(int,int,boolean):void, , OnUIThread:false, [Unbounded loop,Loop at line 15]
codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess$Test.<init>(codetoanalyze.java.performance.FieldAccess), 6, OnUIThread:false, []
codetoanalyze/java/performance/FieldAccess.java, codetoanalyze.java.performance.FieldAccess.<init>(), 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/FieldAccess.java, codetoanalyze.java.performance.FieldAccess.iterate_upto_field_size_linear(codetoanalyze.java.performance.FieldAccess$Test):void, 6 + 6 ⋅ test.a, OnUIThread:false, [{test.a},Loop at line 16]
codetoanalyze/java/performance/InferAnnotationTest.java, InferAnnotationTest.<init>(), 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, []
@ -264,17 +265,17 @@ codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops$
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.<init>(), 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.do_while_independent_of_p_constant(int):int, 253, OnUIThread:false, []
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.dumbSort_quadratic(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.dumb_linear(long[],int):void, 5 + 25 ⋅ (length - 1), OnUIThread:false, [{length - 1},Loop at line 44]
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.loop_linear(int),Loop at line 86]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.loop_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.similar_linear(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.unboundedSymbol_FP():void, , OnUIThread:false, [Unbounded value x,call to void Loops.loop_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.<init>(), 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]
@ -289,7 +290,7 @@ codetoanalyze/java/performance/MathTest.java, codetoanalyze.java.performance.Mat
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.<init>(PreconditionTest), 6, OnUIThread:false, []
codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest$Constant.<init>(PreconditionTest), 6, OnUIThread:false, []
codetoanalyze/java/performance/PreconditionTest.java, PreconditionTest.<init>(), 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]
@ -341,10 +342,10 @@ codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checker
codetoanalyze/java/performance/UIAnnotationTest.java, codetoanalyze.java.checkers.UIAnnotationTest.<init>(), 3, OnUIThread:false, []
codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest$AbstractC.<init>(UnknownCallsTest), 6, OnUIThread:false, []
codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.<init>(), 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_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, , OnUIThread:false, [Unbounded loop,Loop at line 96]
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.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 73,{UnknownCallsTest.throw_exception().ub},Loop at line 73]
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]

@ -1,5 +1,5 @@
codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.array_access_overrun_constant():void, 4, BUFFER_OVERRUN_L2, no_bucket, ERROR, [<Offset trace>,Assignment,<Length trace>,Array declaration,Array access: Offset: [2, 8] Size: 8]
codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types_linear_FP(int,int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 88]
codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types_linear_FP(int,int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 92]
codetoanalyze/java/performance/Array.java, codetoanalyze.java.performance.Array.call_gen_and_iter_types_linear_FP(int,int):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_add3_overrun_constant():void, 5, BUFFER_OVERRUN_L1, no_bucket, ERROR, [<Length trace>,Array declaration,Through,Through,Through,Array access: Offset added: 4 Size: 3]
codetoanalyze/java/performance/ArrayListTest.java, ArrayListTest.arraylist_addAll_constant():void, 10, BUFFER_OVERRUN_L1, no_bucket, ERROR, [<Length trace>,Array declaration,Through,Through,Through,Array access: Offset added: 5 Size: 4]
@ -24,19 +24,20 @@ codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.emptyList_c
codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.emptySet_constant():void, 2, CONDITION_ALWAYS_FALSE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/CollectionsTest.java, CollectionsTest.globalEmptyList_constant():void, 1, CONDITION_ALWAYS_FALSE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.compound_while(int):int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or(int):int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or(int):int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or(int):int, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or(int):int, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or(int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 24]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or(int):void, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or(int):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_mult_symbold_quadratic(int):void, 2, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Parameter `n`,Call,<LHS trace>,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32 by call to `void Cost_test.mult_symbols_quadratic(int,int)` ]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_bad_loop():int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep1(int):int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep2(int):int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.real_while():int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Assignment,<RHS trace>,Assignment,Binary operation: ([0, +oo] + [0, 29]):signed32]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.two_loops():int, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([3, +oo] + 1):signed32]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.nested_while_and_or_constant(int):int, 4, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_and_constant(int):void, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or_top(int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 24]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or_top(int):void, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Compound_loop.java, codetoanalyze.java.performance.Compound_loop.while_and_or_top(int):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Cost_test.java, codetoanalyze.java.performance.Cost_test.call_mult_symbols_quadratic(int):void, 2, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Parameter `n`,Call,<LHS trace>,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32 by call to `void Cost_test.mult_symbols_quadratic(int,int)` ]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.if_loop_constant():int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep1_constant(int):int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.loop_no_dep2_constant(int):int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.real_while_constant():int, 4, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Assignment,<RHS trace>,Assignment,Binary operation: ([0, +oo] + [0, 29]):signed32]
codetoanalyze/java/performance/Cost_test_deps.java, codetoanalyze.java.performance.Cost_test_deps.two_loops_constant():int, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([3, +oo] + 1):signed32]
codetoanalyze/java/performance/EvilCfg.java, EvilCfg.foo_FP(int,int,boolean):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 15]
codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl4.top_cost(InheritanceTest$MyInterface3):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 58]
codetoanalyze/java/performance/InheritanceTest.java, InheritanceTest$UniqueImpl4.top_cost(InheritanceTest$MyInterface3):void, 1, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
@ -61,18 +62,18 @@ codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.util
codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.escape(java.lang.StringBuilder,java.lang.String):void, 1, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.String):java.lang.StringBuilder, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonUtils.serialize(StringBuilder,String),Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13]
codetoanalyze/java/performance/JsonUtils.java, libraries.marauder.analytics.utils.json.JsonUtils.serialize(java.lang.StringBuilder,java.lang.String):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void JsonUtils.escape(StringBuilder,String),Unbounded loop,Loop at line 13]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded value x,call to void Loops.linear(int),Loop at line 86]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded value x,call to void Loops.loop_linear(int),Loop at line 86]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.length_of_linked_list_linear_FP(codetoanalyze.java.performance.Loops$MyLinkedList):void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.modeled_range_linear(java.nio.channels.FileChannel,java.nio.ByteBuffer):void, 9, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 8):signed32]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.nested_do_while_FP(int):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 34]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.nested_do_while_FP(int):void, 8, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol():void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded value x,call to void Loops.linear(int),Loop at line 86]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol():void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,<RHS trace>,Assignment,Binary operation: ([-oo, +oo] × [-oo, +oo]):signed32]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol():void, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Assignment,Call,<LHS trace>,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32 by call to `void Loops.linear(int)` ]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol_FP():void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded value x,call to void Loops.loop_linear(int),Loop at line 86]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol_FP():void, 3, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [<LHS trace>,Assignment,<RHS trace>,Assignment,Binary operation: ([-oo, +oo] × [-oo, +oo]):signed32]
codetoanalyze/java/performance/Loops.java, codetoanalyze.java.performance.Loops.unboundedSymbol_FP():void, 5, INTEGER_OVERFLOW_L5, no_bucket, ERROR, [Assignment,Call,<LHS trace>,Parameter `x`,Binary operation: ([0, +oo] + 1):signed32 by call to `void Loops.loop_linear(int)` ]
codetoanalyze/java/performance/StringTest.java, StringTest.class_get_canonical_name_constant(java.lang.Integer):void, 1, BUFFER_OVERRUN_U5, no_bucket, ERROR, [<Length trace>,Unknown value from: Class Object.getClass(),Assignment,Array access: Offset: [-oo, +oo] Size: [0, +oo]]
codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.test_switch():int, 3, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/Switch.java, codetoanalyze.java.performance.Switch.vanilla_switch(int):void, 2, CONDITION_ALWAYS_TRUE, no_bucket, WARNING, [Here]
codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 94]
codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Unbounded loop,Loop at line 96]
codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, 2, BUFFER_OVERRUN_U5, no_bucket, ERROR, [<Length trace>,Unknown value from: int[] UnknownCallsTest$AbstractC.abstract_func(),Assignment,Array access: Offset: [-oo, +oo] Size: [0, +oo]]
codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_concrete_func_linear_FP(UnknownCallsTest$AbstractC):void, 2, INTEGER_OVERFLOW_U5, no_bucket, ERROR, [<LHS trace>,Unknown value from: int[] UnknownCallsTest$AbstractC.abstract_func(),Binary operation: ([0, +oo] + 1):signed32]
codetoanalyze/java/performance/UnknownCallsTest.java, UnknownCallsTest.call_loop_over_charArray_FP(java.lang.StringBuilder,java.lang.String):void, 0, INFINITE_EXECUTION_TIME, no_bucket, ERROR, [Call to void UnknownCallsTest.loop_over_charArray_FP(StringBuilder,String),Unbounded loop,Loop at line 51]

Loading…
Cancel
Save