agroce / universalmutator

Regexp based tool for mutating generic source code across numerous languages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clarify that `--mutantDir` must exist if specified

sambacha opened this issue · comments

mutator will crash if a valid mutation is found and --mutantDir has a value for a nonexistent directory.

Clarifying that may help in the CLI. I Would be happy to submit some clarifications to the --help output.

Thanks for the tooling, it is much appreciated!

@sambacha -- would it better to just have it create the directory? That seems equally easy, and unless people are somehow relying on the current behavior, more user friendly. I've thought about doing that minor change many times, but never got around to it (professors alas aren't ideal lead maintainers)... Let me know your pref/agreement and I'll fix shortly.

@sambacha -- and improvements to help/doc would be highly appreciated!

@sambacha -- and improvements to help/doc would be highly appreciated!

Placebo mutation case

Will do, we are formulating some ideas actually that go beyond this, namely we would like to first do a preflight check so to speak to know if there are any configuration issues. if This would be like a 'placebo mutation' that is to say an artificial mutation that is valid that can be used to increase confidence in the setup and configuration of the mutation process (i.e. a smoke test) for our engineers. Would you have any recommendations as to this?

Also for generating mutations:

Solidity Mutation

Flatten vs Normal contracts, we have noticed different results in the mutation output.

Targeting specific mutation subtypes, e.g. Inheritance hierarchies.

  • Import order and change of import syntax (i.e. going from named to naked).

Gas profiling with Mutation Cases

We are trying to utilize gas snapshot results to inform the generation process. So far tying the lineo of the mutation and the gas snapshot delta is not very ergonomic.

Tracking Mutation

We are saving process runtime for the time it takes to generate mutation cases of:

  • no valid,
  • at least one valid
  • total valid cases
  • runtime for all the above

Thanks for responding to my issue, and more than willing to do paid compensation for any advice/consulting on this stuff.

Cheers,

Sam

@sambacha this all sounds very interesting, and I think I can likely be of help on several of these items. Rather than hash out here, perhaps we should just schedule a meeting soon-ish, via email?