public class SingleProcessVM extends VM
| Modifier and Type | Field and Description |
|---|---|
protected ApplicationContext |
appCtx |
protected Predicate<ThreadInfo> |
daemonRunnable |
protected Predicate<ThreadInfo> |
runnablePredicate |
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| Modifier | Constructor and Description |
|---|---|
protected |
SingleProcessVM() |
|
SingleProcessVM(JPF jpf,
Config conf) |
| Modifier and Type | Method and Description |
|---|---|
protected ApplicationContext |
createApplicationContext() |
ApplicationContext |
getApplicationContext(int obj) |
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()
The program is terminated if there are no alive threads, and there is no nonDaemon left.
|
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, isSingleProcess, 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 ApplicationContext appCtx
protected Predicate<ThreadInfo> runnablePredicate
protected Predicate<ThreadInfo> daemonRunnable
protected ApplicationContext createApplicationContext()
public boolean initialize()
VMinitialize in class VMpublic int getNumberOfApplications()
getNumberOfApplications in class VMpublic java.lang.String getSUTName()
getSUTName in class VMpublic java.lang.String getSUTDescription()
getSUTDescription in class VMpublic ApplicationContext getApplicationContext(int obj)
getApplicationContext in class VMpublic ApplicationContext[] getApplicationContexts()
getApplicationContexts in class VMpublic ApplicationContext getCurrentApplicationContext()
VMgetCurrentApplicationContext in class VMpublic boolean isEndState()
isEndState 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