本文整理汇总了Java中gov.nasa.jpf.search.Search.isNewState方法的典型用法代码示例。如果您正苦于以下问题:Java Search.isNewState方法的具体用法?Java Search.isNewState怎么用?Java Search.isNewState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gov.nasa.jpf.search.Search
的用法示例。
在下文中一共展示了Search.isNewState方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced (Search search){
if (search.isNewState() && (lastOp != null)) {
int stateId = search.getStateId();
for (MethodOp op=lastOp; op != null; op=op.p) {
op.stateId = stateId;
}
lastOp.prevTransition = lastTransition;
lastTransition = lastOp;
}
lastOp = null;
isFirstTransition = false;
}
示例2: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search) {
steps += search.getTransition().getStepCount();
if (isHeuristic)
queueSize = ((HeuristicSearch)(search)).getQueueSize();
if (search.isNewState()) {
searchLevel = search.getDepth();
if (searchLevel > maxSearchLevel)
maxSearchLevel = searchLevel;
newStates++;
currentHeapCount = search.getVM().getHeap().size();
if (currentHeapCount > maxHeapCount)
maxHeapCount = currentHeapCount;
if (search.isEndState()) {
endStates++;
}
} else {
revisitedStates++;
}
}
示例3: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced (Search search) {
if (timeExceeded() || heapExceeded()) {
search.notifySearchConstraintHit(message);
search.terminate();
}
if (search.isNewState()){
if (!vm.isTraceReplay()){
newStates++;
}
if (statesExceeded() || depthExceeded() || newStatesExceeded()){
search.notifySearchConstraintHit(message);
search.terminate();
}
}
}
示例4: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search) {
int id = search.getStateId();
boolean has_next =search.hasNextState();
boolean is_new = search.isNewState();
try {
if (format==DOT_FORMAT) {
graph.write("/* searchAdvanced(" + id + ", " + makeDotLabel(search, id) +
", " + has_next + ") */");
graph.newLine();
}
if (prev_state != null) {
addEdge(prev_state.id, id, search);
} else {
prev_state = new StateInformation();
}
addNode(prev_state);
prev_state.reset(id, has_next, is_new);
} catch (IOException e) {}
}
示例5: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced (Search search){
long m = Runtime.getRuntime().totalMemory();
if (m > maxUsed) {
maxUsed = m;
}
if (search.isNewState()){
newStates++;
int depth = search.getDepth();
if (depth > maxDepth){
maxDepth = depth;
}
} else {
visitedStates++;
}
if (search.isEndState()){
endStates++;
}
}
示例6: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search) {
int id = search.getStateId();
out.print("----------------------------------- [" +
search.getDepth() + "] forward: " + id);
if (search.isNewState()) {
out.print(" new");
} else {
out.print(" visited");
}
if (search.isEndState()) {
out.print(" end");
}
out.println();
lastMi = null;
}
示例7: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search) {
int id = search.getStateId();
out.print("----------------------------------- [" +
search.getDepth() + "] forward: " + id);
if (search.isNewState()) {
out.print(" new");
} else {
out.print(" visited");
}
if (search.isEndState()) {
out.print(" end");
}
out.println();
lastLine = null; // in case we report by source line
lastMi = null;
linePrefix = null;
}
示例8: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search){
int id = search.getStateId();
long edgeId = ((long)lastId << 32) | id;
if (id <0 || seenEdges.contains(edgeId)){
return; // skip the root state and property violations (reported separately)
}
if (search.isErrorState()) {
String eid = "e" + search.getNumberOfErrors();
printTransition(getStateId(lastId), eid, getLastChoice(), getError(search));
printErrorState(eid);
lastErrorId = eid;
} else if (search.isNewState()) {
if (search.isEndState()) {
printTransition(getStateId(lastId), getStateId(id), getLastChoice(), "return");
printEndState(getStateId(id));
} else {
printTransition(getStateId(lastId), getStateId(id), getLastChoice(), getNextCG());
}
} else { // already visited state
printTransition(getStateId(lastId), getStateId(id), getLastChoice(), null);
}
seenEdges.add(edgeId);
lastId = id;
}
示例9: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search){
int id = search.getStateId();
long edgeId = ((long)lastId << 32) | id;
String prcId = "P"+Integer.toString(search.getVM().getCurrentApplicationContext().getId());
if (id <0 || seenEdges.contains(edgeId)){
return; // skip the root state and property violations (reported separately)
}
String lastInst = getNextCG();
String choice = prcId+"."+getLastChoice();
if (search.isErrorState()) {
String eid = "e" + search.getNumberOfErrors();
printTransition(getStateId(lastId), eid, choice, getError(search));
printErrorState(eid);
lastErrorId = eid;
} else if (search.isNewState()) {
if (search.isEndState()) {
printTransition(getStateId(lastId), getStateId(id), choice, lastInst);
printEndState(getStateId(id));
} else {
printTransition(getStateId(lastId), getStateId(id), choice, lastInst);
printMultiProcessState(getStateId(id));
}
} else { // already visited state
printTransition(getStateId(lastId), getStateId(id), choice, lastInst);
}
seenEdges.add(edgeId);
lastId = id;
}
示例10: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search) {
id = search.getStateId();
depth = search.getDepth();
operation = "forward";
if (search.isNewState()) {
detail = "new";
} else {
detail = "visited";
}
if (search.isEndState()) {
detail += " end";
}
}
示例11: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search) {
if (search.isNewState()) { // don't count twice
int stateId = search.getStateId();
nStates++;
int depth = search.getDepth();
if (depth > maxDepth) maxDepth = depth;
if (!queue.isEmpty()) {
for (Iterator<VarChange> it = queue.iterator(); it.hasNext(); ){
VarChange change = it.next();
String id = change.getVariableId();
VarStat s = stat.get(id);
if (s == null) {
s = new VarStat(id, stateId);
stat.put(id, s);
} else {
// no good - we should filter during reg (think of large vectors or loop indices)
if (s.lastState != stateId) { // count only once per new state
s.nChanges++;
s.lastState = stateId;
}
}
}
}
}
queue.clear();
}
示例12: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced(Search search) {
int id = search.getStateId();
out.print("----------------------------------- [" +
search.getDepth() + "] forward: " + id);
if (search.isNewState()) {
out.print(" new");
} else if (search.isIgnoredState()) {
if (BranchingExecutionHelper.isPruned()) {
out.print(" pruned branch");
} else {
out.print(" ignored (maybe spurious data choice value)");
}
} else {
out.print(" visited");
}
if (search.isEndState()) {
out.print(" end");
}
out.println();
out.println("\t\t time: " + printCurrentTimeDiff());
lastLine = null; // in case we report by source line
lastMi = null;
linePrefix = null;
}
示例13: stateAdvanced
import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced (Search search){
if (search.isNewState()) {
storeLastTransition();
}
}