private void effectiveAssignments() { assigns = new ArrayList<EndStates>(); for (SymbexState ss : leafs) { EndStates es = new EndStates( ss.getCombinedAssignments(), ss.getCombinedCondition(), ss.getCombinedOrder()); assigns.add(es); } }
public SymbexCase slice(String variable) { if (root.isAssigned(variable)) { return slice(root, variable); } else { SymbexCase symbexCase = new SymbexCase(variable, true); return symbexCase; } }
public void findLeafs() { leafs = new ArrayList<>(1000); Queue<SymbexState> queue = new LinkedList<>(); queue.add(root); while (!queue.isEmpty()) { SymbexState e = queue.poll(); if (e.getChildren().size() == 0) { // leaf found leafs.add(e); } else { queue.addAll(e.getChildren()); } } }