| save(MiningCandidate) |   | 78% |   | 70% | 3 | 6 | 5 | 23 | 0 | 1 |
| load(Path) |   | 81% |   | 91% | 1 | 7 | 4 | 19 | 0 | 1 |
| findById(String) |   | 86% |   | 50% | 2 | 3 | 1 | 3 | 0 | 1 |
| loadByStatus(CandidateStatus) |   | 83% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| isCandidateFile(Path) |   | 94% |   | 50% | 3 | 4 | 0 | 3 | 0 | 1 |
| startNewRevision(MiningCandidate, MiningCandidate) |  | 100% |  | 100% | 0 | 2 | 0 | 14 | 0 | 1 |
| sameProposal(MiningCandidate, MiningCandidate) |  | 100% |   | 58% | 5 | 7 | 0 | 6 | 0 | 1 |
| deleteLegacyAliases(MiningCandidate, Path) |  | 100% |  | 100% | 0 | 2 | 0 | 9 | 0 | 1 |
| loadAll() |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| semanticContentChanged(MiningCandidate, MiningCandidate) |  | 100% |  | 100% | 0 | 4 | 0 | 3 | 0 | 1 |
| containsCandidate(MiningCandidate) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| lambda$deleteLegacyAliases$6(MiningCandidate, Path) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| lambda$loadAll$0(List, Path) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$deleteLegacyAliases$4(MiningCandidate) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$deleteLegacyAliases$3(Path, Path) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$containsCandidate$2(MiningCandidate, MiningCandidate) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| lambda$loadByStatus$1(CandidateStatus, MiningCandidate) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| CandidateStore(Path) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| lambda$deleteLegacyAliases$5(MiningCandidate, MiningCandidate) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStoreDir() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |