mab

package
v0.0.0-...-17b87e8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 29, 2020 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CorpusReward

type CorpusReward struct {
	MutateCount      int     // Number of times this seed has been mutated
	ExecTime         float64 // Execution time
	MutateTime       float64 // Total time of mutating this seed
	MutateCov        float64 // Total coverage cov of mutating this seed
	VerifyTime       float64 // Time time of verifing this seed
	MinimizeCov      float64 // Coverage coved from minimization
	MinimizeTime     float64 // Time time of minimization
	MinimizeTimeSave float64 // Estimated time save due to minimization
	MutateReward     float64 // Converted reward of mutating this seed. Coversion based on all tasks
	MutateRewardOrig float64 // Converted reward of mutating this seed. Conversion based on mutations only
	TriageReward     float64 // Converted reward of triaging this seed
}

Reward and time time information for each seed

type ExecResult

type ExecResult struct {
	Cov       int     // Coverage gained
	TimeExec  float64 // Executing time (s)
	TimeTotal float64 // Total time (s)
	Pidx      int     // If mutation, the idx of the seed program
}

type Reward

type Reward struct {
	Count      int
	TotalCov   float64 // sum(cov)
	TotalTime  float64 // sum(time)
	TotalCov2  float64 // sum(cov * cov). Used to compute std
	TotalTime2 float64 // sum(time * time). Used to compute std
}

func (*Reward) Remove

func (reward *Reward) Remove(cov float64, time float64)

func (*Reward) Update

func (reward *Reward) Update(cov float64, time float64)

type TotalReward

type TotalReward struct {
	// For Task Scheduling
	EstimatedRewardGenerate float64 // Estimated reward for Generate. Used for weight deciding
	EstimatedRewardMutate   float64 // Estimated reward for Mutate. Used for weight deciding
	EstimatedRewardTriage   float64 // Estimated reward for Triage. Used for weight deciding
	RawAllTasks             Reward  // Raw cov/time for all Gen/Mut/Tri. Used for computing expected time
	RewardAllTasks          Reward  // Cov/time converted to reward for all Gen/Mut/Tri. Used for normalization

	// For Seed selection
	RawMutateOnly    Reward // Raw cov/time for mutations. Used for Nael's computation for seed selection
	RewardMutateOnly Reward // Cov/time converted to reward for mutations only. Used for normalization
}

type TriageResult

type TriageResult struct {
	CorpusCov        int
	VerifyTime       float64
	MinimizeCov      int
	MinimizeTime     float64
	MinimizeTimeSave float64
	Source           int // 0: Gen, 1: Mut, 2: Tri
	SourceExecTime   float64
	SourceSig        hash.Sig
	Pidx             int     // Index of the program in the corpus
	Success          bool    // Whether triage produces a seed
	TimeTotal        float64 // Total time spent
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL