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, updatePathprotected Predicate<ThreadInfo> systemInUsePredicate
public boolean initialize()
VMinitialize in class VMpublic int getNumberOfApplications()
getNumberOfApplications in class VMpublic ApplicationContext getApplicationContext(int objRef)
getApplicationContext in class VMpublic ApplicationContext[] getApplicationContexts()
getApplicationContexts in class VMpublic ApplicationContext getCurrentApplicationContext()
VMgetCurrentApplicationContext in class VMpublic java.lang.String getSUTName()
getSUTName in class VMpublic java.lang.String getSUTDescription()
getSUTDescription in class VMpublic boolean isSingleProcess()
isSingleProcess in class VMpublic boolean isEndState()
VMisEndState in class VMpublic boolean isDeadlocked()
isDeadlocked in class VMpublic void terminateProcess(ThreadInfo ti)
terminateProcess in class VMpublic java.util.Map<java.lang.Integer,IntTable<java.lang.String>> getInitialInternStringsMap()
getInitialInternStringsMap in class VMpublic Predicate<ThreadInfo> getRunnablePredicate()
getRunnablePredicate in class VMpublic Predicate<ThreadInfo> getAppTimedoutRunnablePredicate()
getAppTimedoutRunnablePredicate in class VMpublic Predicate<ThreadInfo> getDaemonRunnablePredicate()
getDaemonRunnablePredicate in class VM