public class AnalysisTimeLimiter extends DefaultAnalysisMonitoring
Ignores time spent in building flowgraph and post-processing analysis results.
| Constructor and Description |
|---|
AnalysisTimeLimiter(int secondsTimeLimit) |
AnalysisTimeLimiter(int secondsTimeLimit,
int nodeTransferLimit,
boolean crashImmediately) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
allowNextIteration()
Returns true if the fixpoint solver should continue with its next iteration or abort early and unsoundly.
|
boolean |
analysisNotExceededLimit() |
void |
visitNodeTransferPre(AbstractNode n,
State s)
Invoked immediately before processing a node transfer.
|
void |
visitPhasePre(AnalysisPhase phase)
Invoked at the beginning of a phase.
|
addMessage, addMessage, addMessageInfo, getMessages, getTypeInformation, setSolverInterface, visitBlockTransferPost, visitBlockTransferPre, visitCall, visitEvalCall, visitEventHandlerRegistration, visitFunction, visitIf, visitIn, visitInnerHTMLWrite, visitInstanceof, visitIterationDone, visitJoin, visitNativeFunctionCall, visitNativeFunctionReturn, visitNewFlow, visitNewObject, visitNodeTransferPost, visitPhasePost, visitPropagationPost, visitPropagationPre, visitPropertyAccess, visitPropertyRead, visitPropertyWrite, visitRead, visitReadNonThisVariable, visitReadProperty, visitReadThis, visitReadVariable, visitRecoveryGraph, visitRenameObject, visitUnknownValueResolve, visitUserFunctionCall, visitVariableAsRead, visitVariableOrPropertypublic AnalysisTimeLimiter(int secondsTimeLimit)
public AnalysisTimeLimiter(int secondsTimeLimit,
int nodeTransferLimit,
boolean crashImmediately)
secondsTimeLimit - the number of second the analysis is allowed to run, or -1 if no limitnodeTransferLimit - the number of node transfers the analysis is allowed to run, or -1 if no limitcrashImmediately - true if an exception should be thrown when the analysis exceed the time limitpublic boolean allowNextIteration()
ISolverMonitoringallowNextIteration in interface ISolverMonitoring<State,Context>allowNextIteration in class DefaultAnalysisMonitoringpublic boolean analysisNotExceededLimit()
public void visitNodeTransferPre(AbstractNode n, State s)
ISolverMonitoringvisitNodeTransferPre in interface ISolverMonitoring<State,Context>visitNodeTransferPre in class DefaultAnalysisMonitoringpublic void visitPhasePre(AnalysisPhase phase)
IAnalysisMonitoringvisitPhasePre in interface IAnalysisMonitoringvisitPhasePre in class DefaultAnalysisMonitoringCopyright © 2009-2019 Aarhus University