Classes

Coverage Distribution

Complexity

Methods

Coverage Distribution

Complexity

Insufficient Coverage

Method Coverage
emptySingleton0%
withAddedLines0%
asMergedForAssignment0%
asPreservedForParameter0%
asPreservedForArgument0%
asIntersectedWithTaintedness0%
asFilteredForFuncAndParam0%
getLinesForGenericReturn0%
withTaintAddedToMethodArgLinks0%
forSinkBackprop0%
asAllMaybeMovedAtOffset0%
asAllMovedToKeys0%
getForDim0%
asAllCollapsed0%
asAllValueFirstLevel0%
asAllKeyForForeach0%
withOnlyLinks0%
asMergedWith0%
getArraySubsetIdx0%
toStringForIssue0%
getRelevantLinesForTaintedness0%
isEmpty0%
toLinesArray0%
__construct0%
emptySingleton0%
getGenericLines0%
withAddedGenericLines0%
withGenericLines0%
withAddedParamSinkLines0%
withAddedParamPreservedLines0%
withParamSinkLines0%
withParamPreservedLines0%
withVariadicParamSinkLines0%
withVariadicParamPreservedLines0%
withAddedVariadicParamSinkLines0%
withAddedVariadicParamPreservedLines0%
getParamSinkLines0%
getParamPreservedLines0%
asMergedWith0%
__construct0%
emptySingleton0%
withOverall0%
getOverall0%
canOverrideOverall0%
withParamSinkTaint0%
withParamPreservedTaint0%
withVariadicParamSinkTaint0%
withVariadicParamPreservedTaint0%
getParamSinkTaint0%
getParamPreservedTaint0%
getParamFlags0%
canOverrideNonVariadicParam0%
getVariadicParamSinkTaint0%
getVariadicParamPreservedTaint0%
getVariadicParamIndex0%
canOverrideVariadicParam0%
getSinkParamKeysNoVariadic0%
getPreserveParamKeysNoVariadic0%
hasParamPreserve0%
asMergedWith0%
withoutPreserved0%
asOnlyPreserved0%
mergeWith0%
asMergedWith0%
withoutShape0%
asAllMovedToKeys0%
visitMethod0%
setTagHookParamTaint0%
setFuncHookParamTaint0%
visitAssign0%
analyzeCallNode0%
checkExternalLink0%
doSelectWrapperSpecialHandling0%
triggerHook0%
hookArgsContainReference0%
extractHookArgs0%
getHookTypeForRegistrationMethod0%
handleNormalHookRegistration0%
handleParserHookRegistration0%
registerHook0%
visitReturn0%
handleGetQueryInfoReturn0%
checkMakeList0%
literalListConstToName0%
checkSQLOptions0%
checkJoinCond0%
visitReturnOfFunctionHook0%
getCallableFromHookRegistration0%
getSingleCallable0%
getCallbackForVar0%
visitAssign0%
detectHTMLForm0%
visitArray0%
getInstance0%
clearCache0%
registerHook0%
loadExtensionJson0%
readJsonFile0%
getHookSubscribers0%
isSpecialHookSubscriber0%
getMwParserClassFQSEN0%
getPPFrameClassFQSEN0%
__construct0%
emptySingleton0%
getForDim0%
asValueFirstLevel0%
asKeyForForeach0%
withLinksAtDim0%
withKeysLinks0%
asCollapsed0%
asMergedWith0%
withoutShape0%
withAddedOffset0%
asMaybeMovedAtOffset0%
asMovedToKeys0%
asMergedForAssignment0%
normalize0%
getLinksCollapsing0%
getMethodAndParamTuples0%
isEmpty0%
hasDataForFuncAndParam0%
withFuncAndParam0%
asPreservedTaintednessForFuncParam0%
asTaintednessForBackprop0%
asFilteredForFuncAndParam0%
__construct0%
getInstance0%
asMergedWith0%
withoutShape0%
withOffsetPushed0%
asMovedToKeys0%
appliedToTaintedness0%
appliedToTaintednessForBackprop0%
isEmpty0%
visitFuncDecl0%
visitClosure0%
visitArrowFunc0%
visitMethod0%
visitAssignOp0%
visitPropElem0%
__construct0%
emptySingleton0%
withOffsetTaintedness0%
withKeysOffsets0%
asMergedWith0%
asTaintednessForArgument0%
asTaintednessForBackpropError0%
asTaintednessForVarBackpropError0%
isEmpty0%
collectFromNode0%
visitProp0%
visitNullsafeProp0%
visitStaticProp0%
visitVar0%
visitClosureVar0%
handleVarNode0%
visitEncapsList0%
visitArray0%
visitArrayElem0%
visitCast0%
visitDim0%
visitUnaryOp0%
visitBinaryOp0%
visitConditional0%
visitCall0%
visitMethodCall0%
visitStaticCall0%
visitNullsafeMethodCall0%
handleCall0%
visitPreDec0%
visitPreInc0%
visitPostDec0%
visitPostInc0%
handleIncOrDec0%
handleReturnedObject0%
__construct0%
assertRequiredConfig0%
getMergeVariableInfoClosure0%
analyzeStringLiteralStatement0%
taintToString0%
builtinFuncHasTaint0%
getBuiltinFuncTaint0%
assertFunctionTaintArrayWellFormed0%
isFalsePositive0%
parseTaintLine0%
modifyParamSinkTaint0%
modifyArgTaint0%
convertTaintNameToConstant0%
getPHPFuncTaints0%
getBeforeLoopBodyAnalysisVisitorClassName0%
instanceWithParam0%
withParam0%
asMergedWith0%
withoutShape0%
withOffsetPushedToAll0%
asAllParamsMovedToKeys0%
getParams0%
hasParam0%
getParamOffsets0%
withOnlyParams0%
__construct0%
safeSingleton0%
unknownSingleton0%
newTainted0%
newFromArray0%
get0%
asCollapsed0%
asKnownKeysMadeUnknown0%
getAllKeysTaint0%
with0%
without0%
has0%
withOnly0%
intersectForSink0%
withoutKnownKeysFrom0%
asMergedWith0%
withAddedOffsetTaintedness0%
withAddedKeysTaintedness0%
asMergedForAssignment0%
asArrayPlusWith0%
getTaintednessForOffsetOrWhole0%
asMaybeMovedAtOffset0%
asMovedToKeys0%
asValueFirstLevel0%
withoutKey0%
withoutKeys0%
asKeyForForeach0%
asArrayReplaceWith0%
asArrayMergeWith0%
isSafe0%
asExecToYesTaint0%
asYesToExecTaint0%
flagsAsExecToYesTaint0%
flagsAsYesToExecTaint0%
asPreservedTaintedness0%
appliedToLinksForBackprop0%
withSQLExecAddedToNumkeyExec0%
toShortString0%
__construct0%
isRHSArray0%
visitArray0%
visitVar0%
visitProp0%
visitStaticProp0%
maybeAddNumkeyOnAssignmentLHS0%
visitDim0%
doAssignmentSingleElement0%
__construct0%
visitProp0%
visitNullsafeProp0%
visitStaticProp0%
visitVar0%
visitEncapsList0%
visitArray0%
visitArrayElem0%
visitCast0%
visitDim0%
visitUnaryOp0%
visitBinaryOp0%
visitConditional0%
visitCall0%
visitMethodCall0%
visitStaticCall0%
visitNullsafeMethodCall0%
handleCall0%
visitPreDec0%
visitPreInc0%
visitPostDec0%
visitPostInc0%
handleIncOrDec0%
recurse0%
doBackpropElements0%
visitForeach0%
analyzeNodeAndGetTaintedness0%
setCachedData0%
setCurTaintUnknown0%
setCurTaintSafe0%
visit0%
visitClosure0%
visitFuncDecl0%
visitMethod0%
visitArrowFunc0%
analyzeFunctionLike0%
visitClassName0%
visitThrow0%
visitUnset0%
handleUnsetDim0%
visitClone0%
visitAssignOp0%
visitStatic0%
visitAssignRef0%
visitAssign0%
doVisitAssign0%
visitBinaryOp0%
getBinOpTaint0%
visitDim0%
visitPrint0%
visitExit0%
visitShellExec0%
visitIncludeOrEval0%
visitEcho0%
visitSimpleSinkAndPropagate0%
visitStaticCall0%
visitNew0%
visitMethodCall0%
analyzeCallNode0%
visitNullsafeMethodCall0%
visitCall0%
visitVar0%
getHardcodedTaintednessForVar0%
visitGlobal0%
visitReturn0%
setFuncTaintFromReturn0%
visitArray0%
visitClassConst0%
visitConst0%
visitStaticProp0%
visitProp0%
visitNullsafeProp0%
visitConditional0%
visitName0%
visitNameList0%
visitUnaryOp0%
visitPostInc0%
visitPreInc0%
visitPostDec0%
visitPreDec0%
analyzeIncOrDec0%
visitCast0%
visitEncapsList0%
visitIsset0%
visitEmpty0%
visitMagicConst0%
visitInstanceOf0%
visitMatch0%
__construct0%
emptySingleton0%
unknownSingleton0%
getTaintedness0%
getError0%
getMethodLinks0%
asMergedWith0%
__clone0%
getTaintednessRaw0%
setTaintednessRaw0%
getCausedByRaw0%
getCausedByRef0%
getFuncCausedByRaw0%
setCausedByRaw0%
setCausedByRef0%
setFuncCausedByRaw0%
getMethodLinks0%
setMethodLinks0%
getMethodLinksRef0%
getVarLinks0%
ensureVarLinksForArgExist0%
getTaintednessRef0%
setTaintednessRef0%
clearRefData0%
getFuncTaint0%
doSetFuncTaint0%
getRetObjs0%
addRetObjs0%
initRetObjs0%
addFuncTaint0%
ensureFuncTaintIsSet0%
maybeAddFuncError0%
mergeFuncError0%
addTaintError0%
getCausedByLinesToAdd0%
ensureTaintednessIsSet0%
setTaintedness0%
getDefiningFuncIfDifferent0%
getPossibleFuncDefinitions0%
getTaintOfFunction0%
getSetKnownTaintOfFunctionWithoutAnalysis0%
analyzeFunc0%
getDocBlockTaintOfFunc0%
getTaintByType0%
getTaintMaskForTypedElement0%
getTaintMaskForType0%
getPossibleFutureTaintOfElement0%
getCurrentMethod0%
getTaintedness0%
getTaintednessNode0%
getTaintednessPhanObj0%
resolveOffset0%
resolveValue0%
getPropInCurrentScopeByName0%
getCtxN0%
getObjsForNodeForNumkeyBackprop0%
getPropFromNode0%
getDebugInfo0%
dbgInfo0%
linkParamAndFunc0%
mergeTaintDependencies0%
markAllDependentMethodsExec0%
markAllDependentMethodsExecForNode0%
markAllDependentVarsYes0%
getCausedByLinesForFunc0%
getActualFuncWithCausedBy0%
getCallableFromNode0%
getFirstElmFromArrayOrGenerator0%
taintToIssuesAndSeverities0%
maybeEmitIssueSimplified0%
maybeEmitIssue0%
isIssueSuppressedOrFalsePositive0%
handleMethodCall0%
maybeHandleSpecialCall0%
extractArrayArgs0%
translateNamedArg0%
backpropagateArgTaint0%
handlePassByRef0%
getPassByRefObjFromNode0%
getHardcodedPreservedTaintForFunc0%
getBinOpTaintMask0%
getNodeType0%
nodeIsArray0%
nodeCanBeArray0%
nodeCanBeString0%
elementCanBeNumkey0%
nodeCanBeIntKey0%
getReturnObjsOfFunc0%
isSubclassOf0%

Project Risks

Method CRAP
getHardcodedPreservedTaintForFunc7140
detectHTMLForm4032
getObjsForNodeForNumkeyBackprop2970
getTaintByType1122
asMergedWith650
handleMethodCall600
maybeAddFuncError506
getDocBlockTaintOfFunc506
doAssignmentSingleElement462
getMergeVariableInfoClosure342
maybeHandleSpecialCall306
asMergedWith272
visitAssign272
convertTaintNameToConstant272
withAddedLines240
asMergedWith210
normalize210
getHardcodedTaintednessForVar210
maybeEmitIssue210
handlePassByRef210
asMergedForAssignment182
checkJoinCond182
readJsonFile182
markAllDependentMethodsExec182
checkMakeList156
visitReturnOfFunctionHook156
getCallableFromHookRegistration156
parseTaintLine156
analyzeCallNode132
getForDim132
asMergedWith132
visitMethod132
asMergedWith132
setFuncTaintFromReturn132
getTaintOfFunction132
taintToIssuesAndSeverities132
triggerHook110
hasDataForFuncAndParam110
analyzeFunc110
getCallableFromNode110
handleGetQueryInfoReturn90
asPreservedTaintednessForFuncParam90
visitArray90
getPossibleFuncDefinitions90
getForDim72
asAllKeyForForeach72
asMergedForAssignment72
isEmpty72
withOffsetPushed72
isEmpty72
analyzeStringLiteralStatement72
assertFunctionTaintArrayWellFormed72
handleUnsetDim72
visitNew72
getSetKnownTaintOfFunctionWithoutAnalysis72
getPassByRefObjFromNode72
getArraySubsetIdx56
setTagHookParamTaint56
literalListConstToName56
checkSQLOptions56
withoutShape56
getMethodAndParamTuples56
asFilteredForFuncAndParam56
asMergedWith56
isEmpty56
getBuiltinFuncTaint56
has56
intersectForSink56
isSafe56
visitArray56
visitProp56
getCausedByLinesToAdd56
nodeCanBeIntKey56
asPreservedForParameter42
withTaintAddedToMethodArgLinks42
setFuncHookParamTaint42
doSelectWrapperSpecialHandling42
visitReturn42
asKeyForForeach42
asTaintednessForArgument42
asTaintednessForBackpropError42
asTaintednessForVarBackpropError42
asMergedWith42
asMergedForAssignment42
toShortString42
maybeAddNumkeyOnAssignmentLHS42
handleCall42
visitGlobal42
mergeTaintDependencies42
getBinOpTaintMask42
nodeIsArray42
asFilteredForFuncAndParam30
withOnlyLinks30
getParamSinkLines30
getParamPreservedLines30
getParamSinkTaint30
getParamPreservedTaint30
getSingleCallable30
getCallbackForVar30
loadExtensionJson30
withoutShape30
taintToString30
getTaintednessForOffsetOrWhole30
withSQLExecAddedToNumkeyExec30
visitArrayElem30
setTaintedness30
markAllDependentVarsYes30
extractArrayArgs30
nodeCanBeArray30
elementCanBeNumkey30
asPreservedForArgument20
asIntersectedWithTaintedness20
getLinesForGenericReturn20
forSinkBackprop20
asAllMaybeMovedAtOffset20
asAllMovedToKeys20
asAllCollapsed20
asAllValueFirstLevel20
getRelevantLinesForTaintedness20
getParamFlags20
hasParamPreserve20
withoutShape20
visitMethod20
hookArgsContainReference20
getHookTypeForRegistrationMethod20
handleNormalHookRegistration20
isSpecialHookSubscriber20
asValueFirstLevel20
asCollapsed20
getLinksCollapsing20
asTaintednessForBackprop20
appliedToTaintedness20
appliedToTaintednessForBackprop20
withoutShape20
withoutKnownKeysFrom20
asArrayPlusWith20
asMaybeMovedAtOffset20
asArrayMergeWith20
asPreservedTaintedness20
appliedToLinksForBackprop20
visitDim20
analyzeFunctionLike20
visitSimpleSinkAndPropagate20
analyzeCallNode20
visitVar20
ensureTaintednessIsSet20
getDefiningFuncIfDifferent20
getFirstElmFromArrayOrGenerator20
isIssueSuppressedOrFalsePositive20
toStringForIssue12
withAddedVariadicParamSinkLines12
withAddedVariadicParamPreservedLines12
mergeWith12
visitAssign12
checkExternalLink12
extractHookArgs12
handleParserHookRegistration12
registerHook12
getMwParserClassFQSEN12
getPPFrameClassFQSEN12
withLinksAtDim12
withKeysLinks12
asMaybeMovedAtOffset12
withFuncAndParam12
asMovedToKeys12
withOffsetTaintedness12
handleVarNode12
visitEncapsList12
visitArray12
visitArrayElem12
visitBinaryOp12
visitConditional12
asMergedWith12
asKnownKeysMadeUnknown12
withOnly12
asValueFirstLevel12
withoutKey12
withoutKeys12
asArrayReplaceWith12
asExecToYesTaint12
asYesToExecTaint12
visitDim12
visitVar12
visitEncapsList12
visitArray12
visitBinaryOp12
visitConditional12
visitForeach12
visitUnset12
visitAssignOp12
getBinOpTaint12
visitDim12
visitReturn12
visitMatch12
getTaintedness12
getTaintednessPhanObj12
resolveOffset12
markAllDependentMethodsExecForNode12
translateNamedArg12
nodeCanBeString12
getReturnObjsOfFunc12
emptySingleton6
emptySingleton6
withAddedParamSinkLines6
withAddedParamPreservedLines6
emptySingleton6
withVariadicParamSinkTaint6
withVariadicParamPreservedTaint6
asAllMovedToKeys6
registerHook6
visitArray6
getInstance6
emptySingleton6
withAddedOffset6
getInstance6
emptySingleton6
visitCast6
visitDim6
visitUnaryOp6
handleReturnedObject6
assertRequiredConfig6
instanceWithParam6
withOffsetPushedToAll6
asAllParamsMovedToKeys6
safeSingleton6
unknownSingleton6
newFromArray6
get6
getAllKeysTaint6
withAddedOffsetTaintedness6
__construct6
isRHSArray6
visitVar6
visitProp6
visitStaticProp6
visitCast6
visitUnaryOp6
recurse6
doBackpropElements6
visit6
visitClosure6
visitAssign6
visitBinaryOp6
visitIncludeOrEval6
visitMethodCall6
visitCall6
visitStaticProp6
visitConditional6
visitUnaryOp6
visitCast6
visitEncapsList6
emptySingleton6
unknownSingleton6
__clone6
setTaintednessRaw6
setCausedByRaw6
setMethodLinks6
getRetObjs6
addRetObjs6
initRetObjs6
addFuncTaint6
ensureFuncTaintIsSet6
getTaintMaskForTypedElement6
getTaintMaskForType6
getCurrentMethod6
getTaintednessNode6
resolveValue6
getPropFromNode6
getDebugInfo6
dbgInfo6
linkParamAndFunc6
getActualFuncWithCausedBy6
backpropagateArgTaint6
getNodeType6