github crytic/medusa v0.1.1

latest releases: v1.5.1, v1.5.0, v1.4.1...
2 years ago

This marks the second release of medusa. Version 0.1.1 introduces coverage report generation, initial value shrinking logic, improved logging, and various fixes.

What's Changed

  • Introduced initial coverage report generation. This produces a report showing coverage across a fuzzer run. Note: view/pure methods in Solidity are currently not called by the fuzzer and it does not capture property test call coverage.
  • Added support for optimization mode: Similar to echidna's optimization mode, this mode returns a call sequence which maximizes a given value returned by a function call.
  • Added extensions to the assertion testing mode. Users can now configure different panic codes that will trigger an assertion failure (e.g. arithmetic overflow).
  • Introduced initial value shrinking. This will attempt to find more human-readable values to trigger a failure, after one has been discovered. This is currently used for a minimal number of iterations and will be further iterated on in a later release.
  • Added colorized output to the CLI, with support for structured JSON logging (to be integrated in a later release).
  • Added support for CLI autocompletion.
  • Fixed an issue where the addr and sign cheatcodes may error.
  • Fixed a panic that would occur when changing Solidity function input arguments between runs, by ensuring corpus validation on startup disables any outdated corpus items.
  • Fixes an issue where some event defined outside of the immediate contract (e.g. through inheritance) would not be resolved in execution traces.
  • Fixed a bug where arrays/slices would not properly copy during mutations.

Full Changelog: v0.1.0...v0.1.1

Don't miss a new medusa release

NewReleases is sending notifications on new releases.