Skip to content

Add proposal for out of the box fuzzing - #273

Closed
samueleresca wants to merge 2 commits into
dotnet:mainfrom
samueleresca:out-of-box-fuzzing
Closed

samueleresca wants to merge 2 commits into
dotnet:mainfrom
samueleresca:out-of-box-fuzzing

Conversation

@samueleresca

Copy link
Copy Markdown

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

@rstm-sf

rstm-sf commented Sep 26, 2022

Copy link
Copy Markdown

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
Copy Markdown

Cc @jeffhandley

@svick

svick commented Sep 29, 2022

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown

Cc @krwq @GrabYourPitchforks

@jkotas

jkotas commented Sep 29, 2022

Copy link
Copy Markdown
Member

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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