public class MultiProcessVM extends VM
Modifier and Type | Field and Description |
---|---|
protected Predicate<ThreadInfo> |
systemInUsePredicate |
alivePredicate, backtracker, CHECK_CONSISTENCY, config, EMPTY_ARGS, error_id, funcObjFactory, indentOutput, initialized, isBigEndian, isTraceReplay, jpf, lastTrailInfo, listeners, log, newStateId, out, path, pathOutput, postGcActions, processFinalizers, restorer, runGc, scheduler, serializer, ss, stateSet, timedoutRunnablePredicate, timeModel, transitionOccurred, treeOutput, userliveNonDaemonPredicate, userTimedoutRunnablePredicate, vm
Constructor and Description |
---|
MultiProcessVM(JPF jpf,
Config conf) |
Modifier and Type | Method and Description |
---|---|
ApplicationContext |
getApplicationContext(int objRef) |
ApplicationContext[] |
getApplicationContexts() |
Predicate<ThreadInfo> |
getAppTimedoutRunnablePredicate() |
ApplicationContext |
getCurrentApplicationContext()
given an object reference, it returns the ApplicationContext of the process to which
this object belongs
|
Predicate<ThreadInfo> |
getDaemonRunnablePredicate() |
java.util.Map<java.lang.Integer,IntTable<java.lang.String>> |
getInitialInternStringsMap() |
int |
getNumberOfApplications() |
Predicate<ThreadInfo> |
getRunnablePredicate() |
java.lang.String |
getSUTDescription() |
java.lang.String |
getSUTName() |
boolean |
initialize()
this is the main initialization point that sets up startup objects threads and callstacks.
|
boolean |
isDeadlocked() |
boolean |
isEndState()
We made this to be overriden by Single/MultiprcessesVM implementations,
since for MultiprcessesVM one can decide when to terminate (after the
the termination of all processes or only one process).
|
boolean |
isSingleProcess() |
void |
terminateProcess(ThreadInfo ti) |
activateGC, addListener, addPostGcAction, backtrack, breakTransition, checkConsistency, cleanUp, createFinalizerThreadInfo, createMainThreadInfo, createSystemClassLoaderInfo, createSystemClassLoaderObject, createThreadInfo, currentTimeMillis, dumpThreadStates, finalizersEnabled, forceState, forward, getAlivePredicate, getBacktracker, getChoiceGenerator, getChoiceGenerators, getChoiceGeneratorsOfType, getClassInfo, getClassLoader, getClassLoaderList, getClonedPath, getConfig, getCurrentChoiceGenerator, getCurrentThread, getCurrentTransition, getElementInfo, getException, getFinalizerThread, getFunctionObjectFacotry, getHeap, getInstruction, getJPF, getKernelState, getLastChoiceGeneratorInThread, getLastChoiceGeneratorOfType, getLastStep, getLastTransition, getLiveThreads, getMainClassInfo, getMainEntryMethodInfo, getModifiableElementInfo, getNextChoiceGenerator, getNextListenerOfType, getPath, getPathLength, getPendingException, getPendingOutput, getPlatformEndianness, getRestorableState, getRestorer, getScheduler, getSearch, getSerializer, getStartupSystemClassInfos, getStartupSystemClassNames, getStateCount, getStateId, getStateSet, getSystemState, getThreadList, getThreadName, getTimedoutRunnablePredicate, getUserLiveNonDaemonPredicate, getUserTimedoutRunnablePredicate, getVM, handleException, hasListenerOfType, hasNextChoiceGenerator, hasPendingException, hasToRecordPathOutput, hasToRecordSteps, ignoreState, ignoreState, initFields, initializeFinalizerThread, initializeMainThread, initSubsystems, initSystemState, initTimeModel, isBigEndianPlatform, isBoringState, isIgnoredState, isInitialized, isInterestingState, isNewState, isTraceReplay, isVisitedState, kernelStateChanged, nanoTime, notifyChoiceGeneratorAdvanced, notifyChoiceGeneratorProcessed, notifyChoiceGeneratorRegistered, notifyChoiceGeneratorSet, notifyClassLoaded, notifyExceptionBailout, notifyExceptionHandled, notifyExceptionThrown, notifyExecuteInstruction, notifyGCBegin, notifyGCEnd, notifyInstructionExecuted, notifyLoadClass, notifyMethodEntered, notifyMethodExited, notifyObjectCreated, notifyObjectExposed, notifyObjectLocked, notifyObjectNotifies, notifyObjectNotifiesAll, notifyObjectReleased, notifyObjectShared, notifyObjectUnlocked, notifyObjectWait, notifyThreadBlocked, notifyThreadInterrupted, notifyThreadNotified, notifyThreadScheduled, notifyThreadStarted, notifyThreadTerminated, notifyThreadWaiting, notifyVMInitialized, print, print, print, print, print, print, print, printChoiceGeneratorStack, printCurrentStackTrace, printLiveThreadStatus, println, println, processFinalizers, processPostGcActions, pushClinits, pushMainEntry, pushMainEntryArgs, recordSteps, registerClassLoader, registerThread, registerThreadListCleanup, removeListener, resetNextCG, restoreState, retainStateAttributes, setMandatoryNextChoiceGenerator, setNextChoiceGenerator, setRootCG, setSerializer, setTraceReplay, storePathOutput, storeTrace, transitionOccurred, updatePath
protected Predicate<ThreadInfo> systemInUsePredicate
public boolean initialize()
VM
initialize
in class VM
public int getNumberOfApplications()
getNumberOfApplications
in class VM
public ApplicationContext getApplicationContext(int objRef)
getApplicationContext
in class VM
public ApplicationContext[] getApplicationContexts()
getApplicationContexts
in class VM
public ApplicationContext getCurrentApplicationContext()
VM
getCurrentApplicationContext
in class VM
public java.lang.String getSUTName()
getSUTName
in class VM
public java.lang.String getSUTDescription()
getSUTDescription
in class VM
public boolean isSingleProcess()
isSingleProcess
in class VM
public boolean isEndState()
VM
isEndState
in class VM
public boolean isDeadlocked()
isDeadlocked
in class VM
public void terminateProcess(ThreadInfo ti)
terminateProcess
in class VM
public java.util.Map<java.lang.Integer,IntTable<java.lang.String>> getInitialInternStringsMap()
getInitialInternStringsMap
in class VM
public Predicate<ThreadInfo> getRunnablePredicate()
getRunnablePredicate
in class VM
public Predicate<ThreadInfo> getAppTimedoutRunnablePredicate()
getAppTimedoutRunnablePredicate
in class VM
public Predicate<ThreadInfo> getDaemonRunnablePredicate()
getDaemonRunnablePredicate
in class VM