Git Product home page Git Product logo

Comments (7)

lszekeres avatar lszekeres commented on July 28, 2024

Yes! We are planning to indicate the versions of the fuzzers, and the benchmarks too.

from fuzzbench.

jonathanmetzman avatar jonathanmetzman commented on July 28, 2024

@inferno-chromium @mbarbella-chromium
(@lszekeres @lmrs2 also please share thoughts)

I can think of two ways to determine version.

  1. Make users set an environment variable (e.g. FUZZBENCH_FUZZER_VERSION) at build time that gets saved.
  2. Use the method OSS-Fuzz uses for finding out git repo versions automagically (I think it searches directories in SRC iirc).

I lean towards option 2 because it doesn't make integration harder but option 1 is nice for cases like entropic where we apply a patch to a repo.

from fuzzbench.

lszekeres avatar lszekeres commented on July 28, 2024

I think we should automatically save the repo, branch, and the hash of the checked out version (e.g., git rev-parse HEAD). We should avoid relying on users manually setting versions also because we might want to track and benchmark some fuzzers at the HEAD of their master branch.

from fuzzbench.

jonathanmetzman avatar jonathanmetzman commented on July 28, 2024

I think we should automatically save the repo, branch, and the hash of the checked out version (e.g., git rev-parse HEAD). We should avoid relying on users manually setting versions also because we might want to track and benchmark some fuzzers at the HEAD of their master branch.

I forgot that forcing users to set the version means that the version is pinned and must be updated.
This seems like it might be a good thing though since results can be easily reproduced if we aren't simply building from master. WDYT?

from fuzzbench.

lszekeres avatar lszekeres commented on July 28, 2024

I think less stable or less maintained fuzzers are better pinned to a specific working version. However for stable and actively maintained fuzzers (like libfuzzer, honggfuzz, afl, afl++ ...) it's probably easier to use the head of master by default, as it'd be good to automatically track regressions/improvements in these, and that way we don't need to manually bump versions all the time. (With the versions saved, reproducing an earlier experiment shouldn't be an issue.)

from fuzzbench.

inferno-chromium avatar inferno-chromium commented on July 28, 2024

I dont think we can autoroll new versions/hashes as fuzzers will break with benchmark over time. We do this in OSS-Fuzz where project author have a responsibility to fix their build. We don't have that responsibility here, so manually bumping might be the way to go, for atleast next six months or so.

But i do agree that fuzzer repo hash is better rather than with some weirdly explicitly specified / hardcoded version.

from fuzzbench.

lszekeres avatar lszekeres commented on July 28, 2024

Yes, it's a good idea to have fuzzer maintainers explicitly opt in for fuzzbench auto tracking, with responsibility to fix broken builds.

from fuzzbench.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.