本文整理汇总了Java中gov.nasa.jpf.vm.Path.size方法的典型用法代码示例。如果您正苦于以下问题:Java Path.size方法的具体用法?Java Path.size怎么用?Java Path.size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gov.nasa.jpf.vm.Path
的用法示例。
在下文中一共展示了Path.size方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: computeHeuristicValue
import gov.nasa.jpf.vm.Path; //导入方法依赖的package包/类
@Override
protected int computeHeuristicValue () {
int aliveThreads = vm.getThreadList().getMatchingCount(aliveThread);
Path path = vm.getPath();
int pathSize = path.size();
int tid = vm.getCurrentThread().getId();
int h_value = 0;
if (aliveThreads > 1) { // otherwise there's nothing to interleave
for (int i= Math.max(0, pathSize - historyLimit); i<pathSize; i++) {
if (path.get(i).getThreadIndex() == tid) {
h_value += (pathSize - i) * aliveThreads;
}
}
}
return h_value;
}
示例2: publishOutput
import gov.nasa.jpf.vm.Path; //导入方法依赖的package包/类
@Override
protected void publishOutput() {
Path path = reporter.getPath();
if (path.size() == 0) {
return; // nothing to publish
}
publishTopicStart("output " + reporter.getCurrentErrorId());
if (path.hasOutput()) {
for (Transition t : path) {
String s = t.getOutput();
if (s != null){
out.print(s);
}
}
} else {
out.println("no output");
}
}
示例3: publishOutput
import gov.nasa.jpf.vm.Path; //导入方法依赖的package包/类
@Override
protected void publishOutput() {
Path path = reporter.getPath();
if (path.size() == 0) {
return; // nothing to publish
}
if (path.hasOutput()) {
out.println(" <output>");
for (Transition t : path) {
String s = t.getOutput();
if (s != null){
out.print(s);
}
}
out.println(" </output>");
}
}
示例4: publishTrace
import gov.nasa.jpf.vm.Path; //导入方法依赖的package包/类
@Override
protected void publishTrace() {
Path path = reporter.getPath();
int i=0;
if (path.size() == 0) {
return; // nothing to publish
}
out.println(" <trace>");
for (Transition t : path) {
ChoiceGenerator<?> cg = t.getChoiceGenerator();
out.println(" <transition id=\"" + i++ + "\" thread=\"" + t.getThreadIndex() + "\">");
out.println(" <cg class=\""+cg.getClass().getName() + "\" choice=\"" +
cg.getProcessedNumberOfChoices() + "\"/>");
for (Step s : t) {
out.print(" <insn src=\"" + s.getLocationString() + "\">");
String insn = s.getInstruction().toString();
if (insn.indexOf('<') >= 0) { // <init> and <clinit> clash with XML
insn = insn.replaceAll("<", "<");
insn = insn.replaceAll(">", ">");
}
out.print(insn);
out.println("</insn>");
}
out.println(" </transition>");
}
out.println(" </trace>");
}
示例5: log
import gov.nasa.jpf.vm.Path; //导入方法依赖的package包/类
private boolean log(Search search)
{
VM vm;
Path path;
Transition trans;
ChoiceGenerator cg;
double percent, delta;
long currentState, expectedState, currentTime, expectedTime;
int i, size, processed;
vm = search.getVM();
path = vm.getPath();
size = path.size();
percent = 0.0;
delta = 1.0;
processed = 0;
for (i = 0; i < size; i++)
{
trans = path.get(i);
cg = trans.getChoiceGenerator();
delta /= cg.getTotalNumberOfChoices();
processed = cg.getProcessedNumberOfChoices() - 1;
percent += delta * processed;
}
if (size == 0)
percent = 1.0;
if (m_lastPercent > percent) // Sometimes a state is declared as processed but doesn't show up in the path so the percentage appears to go backwards.
return(false);
m_lastPercent = percent;
currentState = vm.getStateCount();
expectedState = (long) (currentState / percent);
currentTime = System.currentTimeMillis() - m_startTime;
expectedTime = (long) (currentTime / percent);
m_formatter.format("State: %,d / %,d (%g%%) Time: ", currentState, expectedState, 100.0 * percent);
formatTime(expectedTime);
m_buffer.append(" - ");
formatTime(currentTime);
m_buffer.append(" = ");
formatTime(expectedTime - currentTime);
m_out.println(m_buffer.toString());
m_buffer.setLength(0);
return(true);
}
示例6: publishTrace
import gov.nasa.jpf.vm.Path; //导入方法依赖的package包/类
/**
* this is done as part of the property violation reporting, i.e.
* we have an error
*/
@Override
protected void publishTrace() {
Path path = reporter.getPath();
int i=0;
if (path.size() == 0) {
return; // nothing to publish
}
publishTopicStart("trace " + reporter.getCurrentErrorId());
for (Transition t : path) {
out.print("------------------------------------------------------ ");
out.println("transition #" + i++ + " thread: " + t.getThreadIndex());
if (showCG){
out.println(t.getChoiceGenerator());
}
if (showSteps) {
String lastLine = null;
MethodInfo lastMi = null;
int nNoSrc=0;
for (Step s : t) {
if (showSource) {
String line = s.getLineString();
if (line != null) {
if (!line.equals(lastLine)) {
if (nNoSrc > 0){
out.println(" [" + nNoSrc + " insn w/o sources]");
}
out.print(" ");
if (showLocation) {
out.print(Left.format(s.getLocationString(),30));
out.print(" : ");
}
out.println(line.trim());
nNoSrc = 0;
}
} else { // no source
nNoSrc++;
}
lastLine = line;
}
if (showCode) {
Instruction insn = s.getInstruction();
if (showMethod){
MethodInfo mi = insn.getMethodInfo();
if (mi != lastMi) {
ClassInfo mci = mi.getClassInfo();
out.print(" ");
if (mci != null) {
out.print(mci.getName());
out.print(".");
}
out.println(mi.getUniqueName());
lastMi = mi;
}
}
out.print(" ");
out.println(insn);
}
}
if (showSource && !showCode && (nNoSrc > 0)) {
out.println(" [" + nNoSrc + " insn w/o sources]");
}
}
}
}