Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Common index for mutators #125

Closed
hcoles opened this issue Jun 7, 2014 · 2 comments
Closed

Common index for mutators #125

hcoles opened this issue Jun 7, 2014 · 2 comments

Comments

@hcoles
Copy link
Owner

hcoles commented Jun 7, 2014

A mutation is currently identified by the combination of

  • Generating mutation operator
  • The method descriptor
  • It's numeric "index" - e.g this is the 3rd mutation this mutator could create in this method

This scheme has the advantage that mutations are relatively stable when the method changes. Introducing 20 new IINC instruction would leave mutations that affect other instructions with the same index. This is useful for tools such as sonar.

A downside is that it is not possible to determine if mutations from different operators affect the same statement.

If mutators shared a common indexing system (e.g by indexing on the number of the mutated instruction) it would allow mutations to be compared, and should make it possible to remove the pre-scan stage, replacing it with new filters. This should simplify the code and may have performance benefits as the filters would only need to be run once - the prescan must currently by run when both initially scanning for mutants, and within the child processes when the mutants are enabled.

@UrsMetz
Copy link
Contributor

UrsMetz commented Sep 23, 2014

@hcoles As the release notes at https://github.com/hcoles/pitest/releases/tag/pitest-parent-1.1.0 state that this enhancement is now implemented: can this issue be closed or am I missing something?

@hcoles
Copy link
Owner Author

hcoles commented Sep 23, 2014

Yes, it can be closed. Issue cleanup is lagging behind a little.

@hcoles hcoles closed this as completed Sep 23, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants