InstructionTransitionExtractor transitionExtractor = new InstructionTransitionExtractor();
boolean[] reachable = new boolean[program.basicBlockCount()];
IntegerStack stack = new IntegerStack(program.basicBlockCount());
stack.push(0);
while (!stack.isEmpty()) {
int i = stack.pop();
if (reachable[i]) {
continue;
}
reachable[i] = true;
BasicBlock block = program.basicBlockAt(i);