-
Notifications
You must be signed in to change notification settings - Fork 180
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
Add feedback-guided scheduling algorithms #791
Conversation
* Add feedback guided scheduling algorithms. * Fix tests. * Add location information to events. * fix change.
* Disable trace logging to save disk space. * Update feedback algorithm. * fix feedback strategy. * refactor. * Remove experiment features. --------- Co-authored-by: Ao Li <[email protected]>
* Added support for generating a warning when spec handles an event but does not add it in its observes list (#716) * Create custom converter for JSON serialization in .NET8 (#717) * Create custom converter for JSON serialization in .NET8 * Add check for different dictionary type for null replacement --------- Co-authored-by: Eric Hua <[email protected]> --------- Co-authored-by: Ankush Desai <[email protected]> Co-authored-by: Eric Hua <[email protected]> Co-authored-by: Eric Hua <[email protected]>
* Added support for generating a warning when spec handles an event but does not add it in its observes list (#716) * Create custom converter for JSON serialization in .NET8 (#717) * Create custom converter for JSON serialization in .NET8 * Add check for different dictionary type for null replacement --------- Co-authored-by: Eric Hua <[email protected]> * udpate. * update. * update. --------- Co-authored-by: Eric Hua <[email protected]> Co-authored-by: Eric Hua <[email protected]> Co-authored-by: Ao Li <[email protected]>
Co-authored-by: Christine Zhou <[email protected]>
Remove conflict analysis
Co-authored-by: Christine Zhou <[email protected]>
Src/PChecker/CheckerCore/SystematicTesting/ControlledRuntime.cs
Outdated
Show resolved
Hide resolved
...er/CheckerCore/SystematicTesting/Strategies/Feedback/Generator/Mutator/RandomInputMutator.cs
Outdated
Show resolved
Hide resolved
|
||
internal class RandomScheduleMutator : IMutator<RandomScheduleGenerator> | ||
{ | ||
private readonly int _meanMutationCount = 10; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why these values 10 and not something else?
Src/PChecker/CheckerCore/SystematicTesting/ControlledRuntime.cs
Outdated
Show resolved
Hide resolved
Based on the discussion today, can @aoli-al you please do the following refactoring:
|
where T: IConvertible | ||
{ | ||
internal readonly System.Random Random; | ||
public int Pos; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There seems to be bug here, pos
is never initialized to 0?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not necessary. Pos is default to 0 during initialization.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How and where?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
} | ||
|
||
/// <inheritdoc/> | ||
public uint Seed { get; set; } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When is this Seed
being set?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seed is not used in ControlledRandom. This field is added to implement the IRandomValueGenerator
interface
|
||
public ControlledRandom Mutate() | ||
{ | ||
return new ControlledRandom(Utils.MutateRandomChoices(IntChoices, 5, 5, IntChoices.Random), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we only mutate only 5 times?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a hyper-parameter. 5 is the mean mutation count and mean mutation size here. Not a fixed number.
This PR introduces the following scheduling algorithm: