型検査済みのミュータント
すべての式ミュータントはビルドされる前に元のスコープで go/types により検査されるので、
コンパイルできないミュータントはまれである。
mutrim (mutation + trim) は test × requirement のビット行列を構築する。requirement は、テストが 到達するミュータントサイトと、テストが kill するミュータントの和集合である。その行列に対して 重み付き貪欲集合被覆を実行し、冗長なテストと、どのテストも kill できない関数を報告する。 プレアルファ版である。
型検査済みのミュータント
すべての式ミュータントはビルドされる前に元のスコープで go/types により検査されるので、
コンパイルできないミュータントはまれである。
パッケージごとに 1 回のビルド
ミュータントスキーマタは全ミュータントを 1 つのソースに埋め込み、実行時に GOMUTANT_ID で
選択する。mutation_test ターゲットは通常の Bazel テストと同様にシャーディングできる。
テストごとの kill 行列
各テストは一度だけトレースされ、各ミュータントはそれに到達するテストに対してだけ実行され、
report.json が誰が何を kill したかを記録する。
テストスイートの最小化
mutrim minimize は冗長なテスト、必須のテスト、保護されたテストと弱点を報告し、
何も削除しない。