Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

emo-eth
Copy link
Contributor

@emo-eth emo-eth commented Oct 6, 2025

Summary

Updates to #10193 - made it a separate pr into master because I have merged a lot of changes from master.

Updates

Improvements:

  • Merge master; use latest solar v0.1.8
  • Full mutation de/serialization for caching
  • Cache mutants/results per-build-id and per-file
  • Tries to identify which Spans already have surviving mutants and skips running tests on Mutants of duplicate or sub-Spans

Things to check/explicitly test

  • Updates to src invalidates both mutant and results cache
  • Updates to test suite invalidates only results cache

Proposed "v0" todos:

  • At least parity with high-level gambit mutators
    • Basic Yul/inline-assembly mutators
  • Mutate in a tmp dir, not src
  • Use type information (possibly as part of hir) for fewer invalid mutations
  • More informative summaries
    • Report type of mutation being run
    • Breakdown of mutation counts by type
  • Report diffs of surviving mutants, similar to Gambit
    • ability to save mutation report to a file, e.g., .mutations-snapshot
  • Add ability to generate + profile mutants independently from running test suite
  • Cache per-file incremental results so mutation tests may be interrupted + resumed if build-id/hash stays the same (currently per-contract)
  • Automatically delete old mutant caches if build-id/hash changes
  • Assess new unit test framework
  • Complete integration tests

Proposed "v1" todos:

  • lcov support for coverage gutters
  • true multithreaded - probably using stdin to solc
  • gzip mutants + results?
  • Explore ordering of mutators and proposed mutants to increase likelihood of skipping redundant mutations
    • This is probably complicated by mutli-threading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

4 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.