| addReduceTerminal(Statement, LoopModelBuilder, String) |   | 55% |   | 50% | 10 | 16 | 23 | 53 | 0 | 1 |
| extractCommentText(Comment, CompilationUnit) |   | 55% |   | 35% | 7 | 8 | 10 | 23 | 0 | 1 |
| addInfixReduceTerminal(InfixExpression, LoopModelBuilder, String, String) |   | 73% |   | 70% | 2 | 6 | 7 | 30 | 0 | 1 |
| addMatchTerminal(IfStatement, LoopModelBuilder, String) |   | 72% |   | 58% | 4 | 7 | 5 | 22 | 0 | 1 |
| isCollection(ITypeBinding) |   | 75% |   | 54% | 8 | 12 | 6 | 19 | 0 | 1 |
| isReducePattern(Statement) |   | 78% |   | 65% | 7 | 14 | 3 | 18 | 0 | 1 |
| isInfixAccumulator(Assignment) |   | 82% |   | 41% | 5 | 7 | 2 | 10 | 0 | 1 |
| isEarlyReturnIf(IfStatement, List) |   | 83% |   | 87% | 1 | 5 | 1 | 8 | 0 | 1 |
| getBoxedTypeName(String) |   | 61% |   | 40% | 3 | 5 | 3 | 6 | 0 | 1 |
| extract(EnhancedForStatement) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| extractComments(ASTNode, CompilationUnit) |   | 96% |   | 73% | 9 | 18 | 1 | 24 | 0 | 1 |
| addCollectTerminal(Statement, LoopModelBuilder, String) |   | 96% |   | 62% | 6 | 9 | 0 | 22 | 0 | 1 |
| isMathMaxMinPattern(Assignment) |  | 95% |   | 66% | 4 | 7 | 0 | 7 | 0 | 1 |
| containsUnconvertibleStatements(List) |  | 94% |   | 80% | 2 | 6 | 0 | 8 | 0 | 1 |
| resolveReducerType(Expression) |  | 90% |   | 66% | 2 | 4 | 1 | 5 | 0 | 1 |
| determineSourceType(Expression) |  | 88% |   | 66% | 2 | 4 | 1 | 7 | 0 | 1 |
| checkConcurrentCollection(Expression) |  | 81% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| analyzeStatements(List, LoopModelBuilder, String, CompilationUnit, boolean) |  | 99% |   | 84% | 9 | 30 | 1 | 79 | 0 | 1 |
| shouldWrapRemainingInMap(List, int, String) |  | 98% |   | 60% | 8 | 11 | 0 | 14 | 0 | 1 |
| attachComments(Operation, ASTNode, CompilationUnit) |  | 97% |   | 70% | 3 | 6 | 1 | 10 | 0 | 1 |
| extract(EnhancedForStatement, CompilationUnit) |  | 100% |  | 100% | 0 | 11 | 0 | 30 | 0 | 1 |
| analyzeAndAddOperations(Statement, LoopModelBuilder, String, CompilationUnit) |  | 100% |  | 100% | 0 | 8 | 0 | 19 | 0 | 1 |
| resolveIteratedCollectionType(Expression) |  | 100% |   | 62% | 6 | 9 | 0 | 12 | 0 | 1 |
| wrapRemainingNonTerminals(List, int, LoopModelBuilder, String) |  | 100% |   | 75% | 1 | 3 | 0 | 7 | 0 | 1 |
| isCollectPattern(Statement) |  | 100% |   | 87% | 1 | 5 | 0 | 6 | 0 | 1 |
| isContinueStatement(Statement) |  | 100% |  | 100% | 0 | 5 | 0 | 6 | 0 | 1 |
| addMathMaxMinReduce(Assignment, LoopModelBuilder, String) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| addSimpleForEachTerminal(List, LoopModelBuilder) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| allSideEffects(List) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| countVariableDeclarations(List) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| isSimpleSideEffect(Statement) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| isLongType(String) |  | 100% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| JdtLoopExtractor() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |