me, before writing a hundred of tests: "ugh, i don't wanna, i bet it won't even find any bugs" me, after: "holy crap so many bugs. so many"
-
-
Replying to @whitequark
also, writing tests to aim for 100% branch coverage has led me to discover, so far, 4 features I had no idea existed in software I maintain
3 replies 6 retweets 35 likes -
Replying to @whitequark
What's depressing is when you try fuzzing & fuzzer writes 100M tests in the time it takes you to write 1-10, & finds more bugs.
1 reply 0 retweets 0 likes -
Replying to @RichFelker
I can't do fuzzing. I don't have a grammar, and I mostly can't have automated invariant checking!
1 reply 0 retweets 1 like -
Replying to @whitequark @RichFelker
I mean, I could probably find memory corruption bugs, but I don't care a lot about those.
1 reply 0 retweets 0 likes -
Replying to @whitequark @RichFelker
What I do care about is things like "this doesn't render correctly" or "the sketch is in wrong configuration after solving".
1 reply 0 retweets 0 likes -
Replying to @whitequark
I see. If you can write code to catch wrongness, fuzzing might work, but yes it doesn't always apply well, can be hard to apply.
1 reply 0 retweets 0 likes -
Replying to @RichFelker
I can catch wrongness. But almost all (in the set theory sense) cases of wrongness are in the end simply operator error!
1 reply 0 retweets 0 likes -
Replying to @whitequark @RichFelker
It's like trying to use a fuzzer to write C programs and then running them.
2 replies 0 retweets 3 likes -
Replying to @whitequark
Interesting. That's actually an area I eventually want to work on - not C programs, but mini-programs/seqs-of-api-calls.
1 reply 0 retweets 1 like
Where there are some constraints on the generation of 'program'/'call-seq' so that only valid/defined cases are tested.
-
-
Replying to @RichFelker @whitequark
Motivation would be fuzzing stateful libraries/apis that are only interesting under nontrivial seq of ops on their context.
1 reply 0 retweets 1 like -
Replying to @RichFelker
yeah. this makes a lot of sense if the code to check basic invariants is any simpler than the library you're testing.
0 replies 0 retweets 0 likes
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.