Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Possible design for Evaluator #3054

Open
rmalmain opened this issue Mar 7, 2025 · 4 comments
Open

Possible design for Evaluator #3054

rmalmain opened this issue Mar 7, 2025 · 4 comments
Labels
enhancement New feature or request
Milestone

Comments

@rmalmain
Copy link
Member

rmalmain commented Mar 7, 2025

linked to #2897.

we need a new layer between Fuzzer and the other components.
after discussing with @tokatoka, we were thinking of organizing things like this:

  • Fuzzer
    • StageTuple -> now contains the ref to the Evaluator to use for the stage
    • EvaluatorTuple
      • Executor
      • Feedback

that way, we can remove Executor contained by some staged (like TracingStage).

@rmalmain rmalmain added the enhancement New feature or request label Mar 7, 2025
@rmalmain rmalmain assigned rmalmain and unassigned rmalmain Mar 7, 2025
@tokatoka
Copy link
Member

tokatoka commented Mar 7, 2025

this is also what @riesentoaster proposed

@riesentoaster
Copy link
Contributor

Yeah, I'd love better separation of concerns between the parts, as discussed in the issue you mentioned.

@tokatoka
Copy link
Member

tokatoka commented Mar 7, 2025

One point that I'm not sure how to implement is that we definitely need to support multiple executors, and thus multiple Evaluators. but the problem is that for each stage, we need to pass the correct Evaluator from the EvaluatorTuple.
i guess it's just matchname and give the stage's the Handle of them

@tokatoka tokatoka changed the title possible design for evaluator Possible design for Evaluator Mar 7, 2025
@tokatoka tokatoka added this to the LibAFL 1.0 milestone Mar 7, 2025
@domenukk
Copy link
Member

domenukk commented Mar 8, 2025

I'm not 100% seeing what this will look like, but if you all agree I'm on board

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants