Mutation Testing Score Reporter
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Mutation Testing Score Reporter is a read-only developer tool that reports mutation testing scores for smart contracts. It reads the contract source code or bytecode, test suite results (JSON), mutation test configuration, mutation score, killed/mutated mutants, mutation coverage, and previous score records. The tool then generates a comprehensive report showing the mutation score, the number of killed and survived mutants, total mutants, mutation coverage, and a detailed mutant breakdown. This helps developers assess the quality of their test suites by measuring how well tests detect code changes.
HOW TO USE
Connect your wallet via the built-in connector. The tool does not require a specific network but uses the provider for context. Enter the contract source code or bytecode, the test suite results as a JSON object with a `mutants` array (each with `id` and `killed` boolean), and an optional mutation test configuration. The tool will parse the data and display a report including: mutation score (with a color-coded circle), killed and survived mutant counts, total mutants, mutation coverage percentage, and a mutant breakdown list showing each mutant's status (killed or survived). The tool also shows previous score records (simulated, as this is read-only). No transaction is signed or sent—this is a read-only report.
TECHNICAL MECHANISM
The tool parses the user-provided JSON test results to extract mutant data. The expected format is: `{"mutants": [{"id": 1, "killed": true}, {"id": 2, "killed": false}]}`. The tool calculates the mutation score as `(killed mutants / total mutants) * 100`. Mutation coverage is simulated based on the score with a small random variation to reflect realistic scenarios. If no mutant data is provided, the tool generates simulated mutant data for demonstration purposes. The mutant breakdown list shows each mutant's ID and status (killed or survived). The tool does not execute any mutation tests—it only reports on the provided data. All processing is performed locally in the browser—no data is sent to any server, and no transaction is signed or sent.
WHAT IT CANNOT SEE
This tool cannot verify that mutation tests are accurate—it relies on user-provided data. It cannot detect if mutants are correctly killed—this depends on the test suite. It cannot guarantee that the mutation score reflects the true quality of the tests. It cannot ensure that mutation coverage is complete. It cannot validate that mutation tests are reproducible. It cannot detect if mutations are semantically equivalent to the original code. It cannot verify that the mutation score is comparable across different runs. It cannot predict if the mutation score will improve with better tests.
PLEASE NOTE
This tool is EVM-only and works across all supported chains. The report is generated locally—no data is transmitted. The tool provides a visual representation of mutation testing results but does not execute any tests. For accurate mutation testing, use dedicated frameworks like Foundry's `forge` with mutation testing plugins or other specialized tools. Always validate mutation test results with multiple test runs to ensure consistency.