Skip to content

Add proposal for out of the box fuzzing #273

New issue

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

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

Already on GitHub? Sign in to your account

Closed
wants to merge 2 commits into from
Closed

Add proposal for out of the box fuzzing #273

wants to merge 2 commits into from

Conversation

samueleresca
Copy link

Adding a proposal for including fuzz testing as part of the .NET toolchain.

@rstm-sf
Copy link

rstm-sf commented Sep 26, 2022

It seems to me that the property base tests should also be covered. FsCheck is an example of a .NET library which is a port of QuickCheck

@danmoseley
Copy link
Member

Cc @jeffhandley

@svick
Copy link

svick commented Sep 29, 2022

This sounds useful to me, but I'm not clear on why it should be part of the .Net SDK, instead of a tool that can be installed using dotnet tool install.

@samueleresca
Copy link
Author

This sounds useful to me, but I'm not clear why it should be part of the .Net SDK, instead of a tool that can be installed using dotnet tool install.

Instrumenting the target and running the fuzzing usually require some overhead.
having this process supported as part of the SDK would provide a unified experience. Using an external tool might mean that you need to tweak it depending on which platform you are on (for example, I think sharp fuzz runs only on Linux and macOS).

@danmoseley
Copy link
Member

Cc @krwq @GrabYourPitchforks

@jkotas
Copy link
Member

jkotas commented Sep 29, 2022

having this process supported as part of the SDK would provide a unified experience. Using an external tool might mean that you need to tweak it depending on which platform you are on

You can bundle the external dependencies into the tool package to provide unified experience, just like you would bundle them into the SDK to provide uniform experience.

It is better to start by independent package for features like this. You can react to feedback and iterate quicky, and you have a lot of freedom for making breaking changes.

And then consider integrating with the SDK only once you have validated on real world use cases that the experience is right and stable. Once you integrate with SDK, the bar rises a lot: You need to worry about backward compatibility, aligning with SDK ship schedule, etc.

@jeffhandley
Copy link
Member

We have had some recent prototype efforts internally in this space. We are exploring some possible paths forward while we conduct our .NET 8 planning.

@GrabYourPitchforks
Copy link
Member

Took the conversation offline. Like Jeff said, we've done some internal prototyping, but nothing that's really in a position to show at the moment.

I propose we close this issue since it's not immediately actionable and it's already being tracked in a separate database.

@samueleresca
Copy link
Author

Closing. See the reasons mentioned above

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants