is the css completely fucked or am I the only one?
A Tale of Four Fuzzers
11–19 of 19 posts
Re: A Tale of Four Fuzzers
#12Earlier quoted context omitted.
The point is that you can exhaustively explore the space without logarithmic overhead. There's no benefits to doing it with random sampling and it doesn't even save thought.
I already explained what the benefit is. What is it with this focus on offloading work from computers to people? Let people do things more easily without thinking, even if it burns more increasingly cheap cycles.
What work is being offloaded from computers to people? It's exactly the same thing with more determinism and no logarithmic overhead.
Re: A Tale of Four Fuzzers
#13Earlier quoted context omitted.
Well, yes. But the point is that random sampling lets you do it without thinking. Even better, it can sample over multiple spaces at the same time, and over spaces we haven't even yet formalized. "Civilization advances by extending the number of important operations which we can perform without thinking of them." (Whitehead) An example is something like "pairwise testing" of arguments to a function. Just randomly gen…
The point is that you can exhaustively explore the space without logarithmic overhead. There's no benefits to doing it with random sampling and it doesn't even save thought.
Re: A Tale of Four Fuzzers
#14Something often forgotten here: if your PRNG only takes e.g. a 32-bit seed, you can generate at most 2^32 unique objects. Which you might chew through in seconds of fuzzing.
Edit: this is addressed later in the article/in a reference where they talk about using an exhaustive implementation of a PRNG interface. Neat!
Re: A Tale of Four Fuzzers
#15Earlier quoted context omitted.
I already explained what the benefit is. What is it with this focus on offloading work from computers to people? Let people do things more easily without thinking, even if it burns more increasingly cheap cycles.
You haven't explained what the benefit is. There aren't "spaces we haven't formalized" because of the pigeonhole principle. There are M bits. You can generate every one of those 2^M values with any max cycle permutation. What work is being offloaded from computers to people? It's exactly the same thing with more determinism and no logarithmic overhead.
Suppose that space of N points is partitioned into M relevant subsets, for now we assume of the same size. Then random sampling hits each of those subsets in O(M log M) time, even if we don't know what they are.
This sort of partitioning is long talked about in the testing literature, with the idea you should do it manually.
> what work is being offloaded
The need to write that program for explicitly enumerating the space.
Re: A Tale of Four Fuzzers
#16Earlier quoted context omitted.
You haven't explained what the benefit is. There aren't "spaces we haven't formalized" because of the pigeonhole principle. There are M bits. You can generate every one of those 2^M values with any max cycle permutation. What work is being offloaded from computers to people? It's exactly the same thing with more determinism and no logarithmic overhead.
> There aren't any "spaces we haven't formalized" Suppose that space of N points is partitioned into M relevant subsets, for now we assume of the same size. Then random sampling hits each of those subsets in O(M log M) time, even if we don't know what they are . This sort of partitioning is long talked about in the testing literature, with the idea you should do it manually. > what work is being offloaded The need to…
pub fn shuffle(g: *Gen, T: type, slice: []T) void {
if (slice.len
And this is a function that enumerates all permutations, in order, exactly once: pub fn shuffle(g: *Gen, T: type, slice: []T) void {
if (slice.len
Yes, they are exactly the same function. What matters is Gen. If it looks like thishttps://github.com/tigerbeetle/tigerbeetle/blob/809fe06a2ffc...
then you get a random permutation. If it rather looks like this
https://github.com/tigerbeetle/tigerbeetle/blob/809fe06a2ffc...
you enumerate all permutations.
Re: A Tale of Four Fuzzers
#17And if you don't have time, just go to the bullet point list at the end; that's all of the best practices, and they are fantastic.
Re: A Tale of Four Fuzzers
#18Earlier quoted context omitted.
You haven't explained what the benefit is. There aren't "spaces we haven't formalized" because of the pigeonhole principle. There are M bits. You can generate every one of those 2^M values with any max cycle permutation. What work is being offloaded from computers to people? It's exactly the same thing with more determinism and no logarithmic overhead.
> There aren't any "spaces we haven't formalized" Suppose that space of N points is partitioned into M relevant subsets, for now we assume of the same size. Then random sampling hits each of those subsets in O(M log M) time, even if we don't know what they are . This sort of partitioning is long talked about in the testing literature, with the idea you should do it manually. > what work is being offloaded The need to…
Re: A Tale of Four Fuzzers
#19is the css completely fucked or am I the only one?