| detectMathMaxMinPattern(String, Expression) |  | 0% |  | 0% | 17 | 17 | 27 | 27 | 1 | 1 |
| addMapBeforeReduce(List, ProspectiveOperation, Statement, String, AST) |  | 0% |  | 0% | 12 | 12 | 31 | 31 | 1 | 1 |
| detectInfixReducePattern(Assignment, Statement, String) |  | 0% |  | 0% | 10 | 10 | 31 | 31 | 1 | 1 |
| extractMathMaxMinArgument(Statement, String, String) |  | 0% |  | 0% | 11 | 11 | 27 | 27 | 1 | 1 |
| detectCompoundAssignmentPattern(Assignment, Statement, String) |  | 0% |  | 0% | 7 | 7 | 20 | 20 | 1 | 1 |
| detectAssignmentReducePattern(Assignment, Statement) |  | 0% |  | 0% | 5 | 5 | 17 | 17 | 1 | 1 |
| detectPostfixReducePattern(PostfixExpression, Statement) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| detectPrefixReducePattern(PrefixExpression, Statement) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| detectReduceOperation(Statement) |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| extractReduceExpression(Statement) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| hasAccumulatorArgument(MethodInvocation, String) |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| ReducePatternDetector(ASTNode) |   | 73% |   | 50% | 1 | 2 | 1 | 7 | 0 | 1 |
| getAccumulatorVariable() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getAccumulatorType() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |