Documentation
¶
Index ¶
- type DefaultMutator
- type FuzzStrategy
- func (f *FuzzStrategy) ActionsCh() *types.Channel[*strategies.Action]
- func (f *FuzzStrategy) EndCurIteration(ctx *strategies.Context)
- func (f *FuzzStrategy) Finalize(ctx *strategies.Context)
- func (f *FuzzStrategy) NextIteration(ctx *strategies.Context)
- func (f *FuzzStrategy) Start() error
- func (f *FuzzStrategy) Step(e *types.Event, ctx *strategies.Context)
- func (f *FuzzStrategy) Stop() error
- type FuzzStrategyConfig
- type Guider
- type Mutator
- type ScheduleChoiceType
- type SchedulingChoice
- type SwapNodesMutator
- type TLCGuider
- type Trace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultMutator ¶
type DefaultMutator struct {
}
func NewDefaultMutator ¶
func NewDefaultMutator() *DefaultMutator
func (*DefaultMutator) Mutate ¶
func (d *DefaultMutator) Mutate(_ *types.List[*SchedulingChoice], _ *types.List[*types.Event]) (*types.List[*SchedulingChoice], bool)
type FuzzStrategy ¶
type FuzzStrategy struct {
*types.BaseService
// contains filtered or unexported fields
}
Main idea - the input is a sequence of actions. An action can be one of - Deliver to Process p, Drop to process p Generate a random input and use quick mutations to improve coverage
func NewFuzzStrategy ¶
func NewFuzzStrategy(config *FuzzStrategyConfig) *FuzzStrategy
func (*FuzzStrategy) ActionsCh ¶
func (f *FuzzStrategy) ActionsCh() *types.Channel[*strategies.Action]
func (*FuzzStrategy) EndCurIteration ¶
func (f *FuzzStrategy) EndCurIteration(ctx *strategies.Context)
func (*FuzzStrategy) Finalize ¶
func (f *FuzzStrategy) Finalize(ctx *strategies.Context)
func (*FuzzStrategy) NextIteration ¶
func (f *FuzzStrategy) NextIteration(ctx *strategies.Context)
func (*FuzzStrategy) Start ¶
func (f *FuzzStrategy) Start() error
func (*FuzzStrategy) Step ¶
func (f *FuzzStrategy) Step(e *types.Event, ctx *strategies.Context)
func (*FuzzStrategy) Stop ¶
func (f *FuzzStrategy) Stop() error
type FuzzStrategyConfig ¶
type ScheduleChoiceType ¶
type ScheduleChoiceType string
var ( ScheduleProcess ScheduleChoiceType = "Process" BooleanNonDet ScheduleChoiceType = "Boolean" IntegerNonDet ScheduleChoiceType = "Integer" )
type SchedulingChoice ¶
type SchedulingChoice struct {
Type ScheduleChoiceType
Process types.ReplicaID
Bool bool
Integer int
}
type SwapNodesMutator ¶
type SwapNodesMutator struct {
NumSwaps int
// contains filtered or unexported fields
}
func NewSwapNodeMutator ¶
func NewSwapNodeMutator(numSwaps int) *SwapNodesMutator
func (*SwapNodesMutator) Mutate ¶
func (s *SwapNodesMutator) Mutate(trace *types.List[*SchedulingChoice], _ *types.List[*types.Event]) (*types.List[*SchedulingChoice], bool)
type TLCGuider ¶
type TLCGuider struct {
// contains filtered or unexported fields
}
func NewTLCGuider ¶
func (*TLCGuider) HaveNewState ¶
Click to show internal directories.
Click to hide internal directories.