ursus
11/02/2025, 10:13 PMkotlinx.fuzz. The example provide is they used it to keep kotlinx.datetime and java.time in sync. Which is rather exotic case.
How would you use fuzzing in a typical app? Or is it a library thing?
Asking mostly, since I know of fuzzing but in context of memory unsafe languages, to surface vulnerabilities.
JVM is memory safe ..so..does it matter?ephemient
11/03/2025, 12:06 AMursus
11/03/2025, 12:08 AMephemient
11/03/2025, 12:09 AMursus
11/03/2025, 12:10 AMursus
11/03/2025, 12:11 AMephemient
11/03/2025, 12:11 AMfor all string inputs, kotlin.time.Duration parsing is the same as java.time.Duration parsingand it is unreasonable to actually test "all string inputs", so they let the framework try to probe for examples
ursus
11/03/2025, 12:11 AMephemient
11/03/2025, 12:12 AMursus
11/03/2025, 12:12 AMephemient
11/03/2025, 12:12 AMursus
11/03/2025, 12:13 AMephemient
11/03/2025, 12:13 AMephemient
11/03/2025, 12:15 AMephemient
11/03/2025, 12:16 AMursus
11/03/2025, 12:16 AMursus
11/03/2025, 12:17 AMephemient
11/03/2025, 12:18 AMephemient
11/03/2025, 12:18 AMephemient
11/03/2025, 12:19 AMephemient
11/03/2025, 12:20 AMursus
11/03/2025, 12:20 AMursus
11/03/2025, 12:22 AMephemient
11/03/2025, 12:29 AMursus
11/03/2025, 12:34 AMursus
11/03/2025, 12:36 AMerror("Should never happen") in such cases)ephemient
11/03/2025, 12:37 AMephemient
11/03/2025, 12:38 AMursus
11/03/2025, 12:39 AMassertThat(distance).isLessThan(..) ?ursus
11/03/2025, 12:40 AMursus
11/03/2025, 12:40 AMephemient
11/03/2025, 12:40 AMursus
11/03/2025, 12:44 AMassertThat(true).isTrue() at the end?ephemient
11/03/2025, 12:44 AMephemient
11/03/2025, 12:46 AMursus
11/03/2025, 12:50 AMephemient
11/03/2025, 12:51 AMephemient
11/03/2025, 12:51 AMephemient
11/03/2025, 12:52 AMursus
11/03/2025, 12:54 AMursus
11/03/2025, 12:55 AMursus
11/03/2025, 12:56 AMCLOVIS
11/03/2025, 8:14 AMbut how would one even notice that?For example, "no matter what the input is, there is never an internet connection". You could do that at the OS-level by removing the right for internet access, which would throw an exception in your code, and then you run the fuzzer looking for that particular exception
ursus
11/03/2025, 10:06 AMCLOVIS
11/03/2025, 10:34 AMephemient
11/03/2025, 3:51 PMephemient
11/03/2025, 3:55 PM