| run(String[]) |   | 83% |   | 70% | 8 | 21 | 15 | 85 | 0 | 1 |
| main(String[]) |  | 0% |  | 0% | 2 | 2 | 9 | 9 | 1 | 1 |
| commitUrl(MiningCandidate) |   | 58% |   | 50% | 2 | 3 | 2 | 6 | 0 | 1 |
| lambda$candidatePriority$1(MiningCandidate) |   | 65% |   | 42% | 4 | 7 | 4 | 8 | 0 | 1 |
| requireValue(String[], int, String) |   | 57% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| buildHtml(List) |   | 96% |   | 83% | 1 | 4 | 1 | 29 | 0 | 1 |
| escape(String) |  | 88% |   | 50% | 1 | 2 | 1 | 6 | 0 | 1 |
| isDiscarded(CandidateStatus) |  | 84% |   | 50% | 3 | 4 | 0 | 1 | 0 | 1 |
| shortCommit(String) |  | 83% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| lambda$candidatePriority$2(MiningCandidate) |  | 75% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| nullToEmpty(String) |  | 66% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| migrateLegacyCandidates(List) |  | 100% |  | 100% | 0 | 5 | 0 | 18 | 0 | 1 |
| writeReport(List, Path, Path) |  | 100% |   | 75% | 1 | 3 | 0 | 12 | 0 | 1 |
| originKey(MiningCandidate) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| advanceToReadyForReview(MiningCandidate) |  | 100% |   | 66% | 2 | 4 | 0 | 7 | 0 | 1 |
| markDuplicate(MiningCandidate, String) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| lambda$run$0(MiningCandidate) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| candidatePriority() |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| semanticFingerprint(MiningCandidate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |