PET: Partial Evaluation-based Test Case Generator for Bytecode

Target Class and its Dependencies


Class: BinarySearchTree

Dependencies:

PET Arguments

a) Choose the method to generate test-cases for:

string(82) "javap -classpath ../../../../examples/net/datastructures -s BinarySearchTree 2>&1 " string(120) "Warning: File ../../../../examples/net/datastructures/BinarySearchTree.class does not contain class BinarySearchTree
" string(41) "Compiled from "BinarySearchTree.java"
" string(139) "public class net.datastructures.BinarySearchTree extends net.datastructures.LinkedBinaryTree implements net.datastructures.Dictionary {
" array(4) { [0]=> string(130) "c class net.datastructures.BinarySearchTree extends net.datastructures.LinkedBinaryTree implements net.datastructures.Dictionary {" [1]=> string(2) "c " ["name"]=> string(120) "net.datastructures.BinarySearchTree extends net.datastructures.LinkedBinaryTree implements net.datastructures.Dictionary" [2]=> string(120) "net.datastructures.BinarySearchTree extends net.datastructures.LinkedBinaryTree implements net.datastructures.Dictionary" } <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) Coverage criterion: Block-k: Depth-k:

c) Get numeric test-cases or path-constraints: Path-constraints Numeric (In this case a range must be especified in step d)

d) Specify the range of integers to take data from: None Range: ..

e) Labeling strategy (see the SWI-Prolog CLPFD library) : ff    leftmost    min    max   

f) References aliasing: Don't alias    Might alias    CLP Heap Solver

g) Verbosity level: 1   2   3

h) Generate JUnit test:    Type: no   minimum complete   Use reflection: no yes

i) Tracing: no   statements   blocks

j) Check code coverage: no   yes

l) Compositional TDG: no   yes