Skip to content
This repository has been archived by the owner on Feb 19, 2021. It is now read-only.

Discussion: How to arrange mutant levels? #33

Open
richardwerkman opened this issue Apr 7, 2020 · 2 comments
Open

Discussion: How to arrange mutant levels? #33

richardwerkman opened this issue Apr 7, 2020 · 2 comments

Comments

@richardwerkman
Copy link
Member

In stryker-net we want to introduct a new feature: mutant levels. By setting a higher mutation level, more complex mutants are placed. All higher levels include the lower level mutations as well. Maybe we can think of universal levels for each stryker. So the levels mean the same thing across stryker.

My current proposal for the levels is:

Mutations Level
Arithmetic Operators Basic
Block (if we ever get it done) Basic
Equality Operators Standard
Boolean Literals Standard
Assignment statements Standard
Collection initializer Standard
Unary Operators Standard
Update Operators Standard
String Literals and Constants Standard
Bitwise Operators Standard
Checked Statements Advanced
Linq Methods Advanced
Regex (coming soon...) Advanced
Advanced Linq Methods Complete
Advanced Regex Complete

This proposal is for mutators as a whole, but I can imagine that some mutations inside the mutator belong to another level than others. For example:
> to < basic
> to => advanced

@richardwerkman
Copy link
Member Author

@nicojs @Mobrockers @hugo-vrijswijk your thoughts?

@rouke-broersma
Copy link
Member

Mutations Level
Arithmetic Operators Basic
Block (if we ever get it done) Basic
Equality Operators Standard
Boolean Literals Standard
Assignment statements Standard
Collection initializer Standard
Unary Operators Standard
Update Operators Standard
String Literals and Constants Standard
Checked Statements Standard
Linq Advanced
Regex Complete
Bitwise Operators Complete

For the Bitwise operators I am thinking mostly about XOR mutations.

I would lean more to something like this, but I would prefer if Linq and Regex are split into standard advanced and complete because I would not expect most linq mutators to be disabled by default. For regex we need to find the right balance between ease to fix and amount of mutations this adds to the run time.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants