COSTA: COSt and Termination Analyzer for Java Bytecode
Step 1.
Class File

Step 2.
a) Choose the method(s) to be analyzed
or Select All
Read methods 172 -- 71 -- 72 Read methods 172 -- 71 -- 75 Read methods 172 -- 76 -- 77 Read methods 172 -- 78 -- 77 Read methods 172 -- 79 -- 80 Read methods 172 -- 81 -- 82 Read methods 172 -- 83 -- 84 Read methods 172 -- 86 -- 87 Read methods 172 -- 88 -- 89 Read methods 172 -- 90 -- 91 Read methods 172 -- 92 -- 93 Read methods 172 -- 94 -- 95 Read methods 172 -- 96 -- 97 Read methods 172 -- 98 -- 99 Read methods 172 -- 100 -- 101 Read methods 172 -- 102 -- 103 Read methods 172 -- 104 -- 105 Read methods 172 -- 106 -- 107 Read methods 172 -- 108 -- 109 Read methods 172 -- 110 -- 111 <init>()V
<init>(Ljava/util/Comparator;)V
key(Lnet/datastructures/Position;)Ljava/lang/Object;
value(Lnet/datastructures/Position;)Ljava/lang/Object;
entry(Lnet/datastructures/Position;)Lnet/datastructures/Entry;
replaceEntry(Lnet/datastructures/Position;Lnet/datastructures/Entry;)V
checkKey(Ljava/lang/Object;)V
checkEntry(Lnet/datastructures/Entry;)V
insertAtExternal(Lnet/datastructures/Position;Lnet/datastructures/Entry;)Lnet/datastructures/Entry;
removeExternal(Lnet/datastructures/Position;)V
treeSearch(Ljava/lang/Object;Lnet/datastructures/Position;)Lnet/datastructures/Position;
addAll(Lnet/datastructures/List;Lnet/datastructures/Position;Ljava/lang/Object;)V
size()I
isEmpty()Z
find(Ljava/lang/Object;)Lnet/datastructures/Entry;
findAll(Ljava/lang/Object;)Ljava/util/Iterator;
insert(Ljava/lang/Object;Ljava/lang/Object;)Lnet/datastructures/Entry;
remove(Lnet/datastructures/Entry;)Lnet/datastructures/Entry;
entries()Ljava/util/Iterator;
restructure(Lnet/datastructures/Position;)Lnet/datastructures/Position;

b) Select the Cost Model
Number of instructions
Termination
Memory + Garbage Collector
Number of calls to the method in the class

c) Provide an upper bound to check it? No Yes
e.g. [x]=2*x

d) Compute the asymptotic upper bound? No Normal Lazy

e) Select the user interface Automatic Manual