TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

What Is Fuzz Testing?

72 pointsby andreiabout 4 years ago

5 comments

nsajkoabout 4 years ago
&gt; Any part of your software that consumes data across a trust boundary is a perfect candidate for fuzzing.<p>Sure, but one thing I don&#x27;t understand is why fuzzing is not used more often for testing basically any pure function (whose output depends only on its input, and which has no side effects, or whose side effects are easy enough to rollback during fuzzing).<p>This is the method: take multiple distinct implementations of the same function&#x2F;algorithm and give them all the same data. Usually, you&#x27;d just be checking for them crashing or tripping up some sanitizer; but now you can check if each implementation&#x27;s <i>output</i> matches the outputs of all the other implementations, and crash if any of the outputs doesn&#x27;t match (can be accomplished with <i>__builtin_trap();</i> in C&#x2F;C++). The fuzzer will register this crash like any other failure, and then you know you have a bug, and with which input the bug manifests.<p>&gt; Current fuzzing tools (open source or otherwise), aren’t very developer friendly, often forcing users to learn completely new testing paradigms, work with low-level structures they don’t understand, and significantly modify their application to get any results at all.<p>This list of issues seems sort of manufactured, and I doubt this FuzzBuzz product can improve the situation, as the article doesn&#x27;t give any information on what the product actually is.<p>&gt; Fuzzbuzz uses automation and intelligence to make fuzz testing as developer friendly as possible [...]<p>Advertising a product without saying anything about it is off-putting to me. I know it works sometimes, but I think that&#x27;s usually when you&#x27;re &quot;big&quot; already, like Coca Cola.
评论 #26733244 未加载
评论 #26733905 未加载
评论 #26736050 未加载
评论 #26750621 未加载
评论 #26736884 未加载
评论 #26740459 未加载
2OEH8eoCRo0about 4 years ago
I wrote a rudimentary fuzzer at work for the sole purpose of generating core dumps. It worked so well that I got a stern talking to about not helping them release the software.
评论 #26732619 未加载
评论 #26732544 未加载
评论 #26733874 未加载
Ekarosabout 4 years ago
At simplest and most straight forward level fuzz testing is pretty simple to get started with. Collect some input(API calls, files, etc.), pass it to fuzzer(for example radamsa[0]), throw it at program and observe...<p>Ofc, depending on system collecting input and sending it to system might be bit more complicated. Hardest part is often the observing and finding that an error happens.<p>Not that this gets you full coverage, for more complex things like protocols something custom that takes lot more effort is probably needed.<p>[0] <a href="https:&#x2F;&#x2F;gitlab.com&#x2F;akihe&#x2F;radamsa" rel="nofollow">https:&#x2F;&#x2F;gitlab.com&#x2F;akihe&#x2F;radamsa</a>
cjlovettabout 4 years ago
Nice article. In a way you could think of the following as &quot;concurrency fuzzing&quot;: [0]: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26718273" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26718273</a>
tommek4077about 4 years ago
Great joke to not showing any content if you dont allow Javascript. Is this the first Fuzztest itself? ;)