| analyzeByAnnotations(Expression) |   | 25% |   | 21% | 14 | 15 | 25 | 34 | 0 | 1 |
| analyzeByNullChecks(Expression) |   | 25% |   | 12% | 12 | 13 | 22 | 31 | 0 | 1 |
| analyzeMethodInvocation(MethodInvocation) |  | 0% |  | 0% | 10 | 10 | 22 | 22 | 1 | 1 |
| isCollectionGetCall(Expression) |  | 0% |  | 0% | 9 | 9 | 16 | 16 | 1 | 1 |
| analyzeVariableInitializer(SimpleName) |   | 34% |   | 25% | 8 | 9 | 13 | 23 | 0 | 1 |
| isInsideNullGuard(Expression, String) |  | 0% |  | 0% | 8 | 8 | 14 | 14 | 1 | 1 |
| analyzeByType(Expression) |   | 47% |   | 50% | 6 | 8 | 13 | 26 | 0 | 1 |
| isEarlyReturn(Statement) |  | 0% |  | 0% | 5 | 5 | 6 | 6 | 1 | 1 |
| isNullComparisonWith(InfixExpression, String) |  | 0% |  | 0% | 5 | 5 | 4 | 4 | 1 | 1 |
| isNonNullCheck(Expression, String) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| isNullCheck(Expression, String) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| analyzeByInitialization(Expression) |   | 50% |   | 50% | 3 | 4 | 4 | 8 | 0 | 1 |
| isNameMatch(Expression, String) |  | 0% |  | 0% | 3 | 3 | 1 | 1 | 1 | 1 |
| isAncestor(ASTNode, ASTNode) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| analyze(Expression) |   | 89% |   | 70% | 3 | 6 | 3 | 16 | 0 | 1 |
| findEnclosingBlock(ASTNode) |   | 89% |   | 66% | 2 | 4 | 1 | 6 | 0 | 1 |
| findEnclosingMethod(ASTNode) |   | 87% |   | 75% | 1 | 3 | 1 | 6 | 0 | 1 |
| resolveVariableBinding(SimpleName) |   | 84% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| loadWhitelist() |  | 97% |   | 75% | 1 | 3 | 1 | 11 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 11 | 0 | 1 |
| NullabilityGuard(Map) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| NullabilityGuard() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| getNonNullTypes() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |