当前位置: 首页>>代码示例>>Java>>正文


Java Search.isNewState方法代码示例

本文整理汇总了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;
}
 
开发者ID:grzesuav,项目名称:jpf-core,代码行数:18,代码来源:MethodAnalyzer.java

示例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++;
  }
}
 
开发者ID:grzesuav,项目名称:jpf-core,代码行数:27,代码来源:SearchStats.java

示例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();        
    }
  }
}
 
开发者ID:grzesuav,项目名称:gjpf-core,代码行数:18,代码来源:BudgetChecker.java

示例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) {}
}
 
开发者ID:grzesuav,项目名称:gjpf-core,代码行数:21,代码来源:StateSpaceDot.java

示例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++;
  }
}
 
开发者ID:grzesuav,项目名称:gjpf-core,代码行数:21,代码来源:Statistics.java

示例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;
}
 
开发者ID:grzesuav,项目名称:jpf-core,代码行数:21,代码来源:MethodTracker.java

示例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;
}
 
开发者ID:grzesuav,项目名称:jpf-core,代码行数:23,代码来源:ExecTracker.java

示例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;
}
 
开发者ID:grzesuav,项目名称:gjpf-core,代码行数:33,代码来源:SimpleDot.java

示例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;
}
 
开发者ID:grzesuav,项目名称:gjpf-core,代码行数:37,代码来源:DistributedSimpleDot.java

示例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";
  }
}
 
开发者ID:grzesuav,项目名称:gjpf-core,代码行数:16,代码来源:StateTracker.java

示例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();
}
 
开发者ID:grzesuav,项目名称:gjpf-core,代码行数:31,代码来源:VarTracker.java

示例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;
}
 
开发者ID:d3sformal,项目名称:panda,代码行数:31,代码来源:ExecTracker.java

示例13: stateAdvanced

import gov.nasa.jpf.search.Search; //导入方法依赖的package包/类
@Override
public void stateAdvanced (Search search){
  if (search.isNewState()) {
    storeLastTransition();
  }
}
 
开发者ID:grzesuav,项目名称:gjpf-core,代码行数:7,代码来源:DeadlockAnalyzer.java


注:本文中的gov.nasa.jpf.search.Search.isNewState方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。