Skip to content

Optimizing weights through the MAB algorithm #506

@chennbnbnb

Description

@chennbnbnb

Hello, I've noticed that in Fuzzilli, Mutators, CodeGenerators, and Templates all use fixed weights for selection, which I believe is not suitable.
Here are some experiments I've done: the probability of each Mutator generating an interesting program changes over time.

Image

It can be observed that the CombineMutator and SpliceMutator have the highest interesting rates, but these two mutators are not assigned higher weights. Therefore, I want to optimize the weights of the mutators through the MAB algorithm. I've implemented the related code locally. In short:

  • Selecting a Mutator is considered as a pull. If the Mutator generates an interesting program, it is considered a profit.
  • The Thompson sampling algorithm is used to estimate the Mutator with the highest interesting rate and select it more times.
  • A MABList is created to replace the original WeightedList. The MABList will automatically select the appropriate elements based on feedback.

I would like to know if you would accept this PR if I were to propose it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions