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, updatePath
protected ApplicationContext appCtx
protected Predicate<ThreadInfo> runnablePredicate
protected Predicate<ThreadInfo> daemonRunnable
protected ApplicationContext createApplicationContext()
public boolean initialize()
VM
initialize
in class VM
public int getNumberOfApplications()
getNumberOfApplications
in class VM
public java.lang.String getSUTName()
getSUTName
in class VM
public java.lang.String getSUTDescription()
getSUTDescription
in class VM
public ApplicationContext getApplicationContext(int obj)
getApplicationContext
in class VM
public ApplicationContext[] getApplicationContexts()
getApplicationContexts
in class VM
public ApplicationContext getCurrentApplicationContext()
VM
getCurrentApplicationContext
in class VM
public boolean isEndState()
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