tgoop.com/kotlin_lib/616
Last Update:
Fuzz‑тестирование для Kotlin с помощью kotlinx.fuzz
Определение крайних (edge) случаев для тестирования — непростая задача, часто оставляющая скрытые баги и уязвимости незамеченными.
Fuzz‑тестирование (fuzzing) решает эту проблему, автоматически генерируя тесты со случайными или некорректными входными данными, что позволяет разработчикам выявлять неожиданные исключения и сценарии сбоев. Благодаря своей эффективности в обнаружении критических ошибок ПО, fuzzing получил широкое распространение во многих языках программирования.
Однако в Kotlin он остаётся сравнительно малоиспользуемым.
Именно поэтому наша Лаборатория языков программирования и анализа программ JetBrains Research посвятила усилия разработке kotlinx.fuzz — fuzzer’а для библиотек на Kotlin. Поскольку Kotlin компилируется в байткод JVM, системы fuzz‑тестирования для Kotlin можно строить, используя существующие Java‑fuzzer’ы.
Эта концепция и стала основой нашего текущего прототипа.
@KFuzzTest
fun testDuration(f: KFuzzer) {
val isoString = f.asciiString(10)
val duration = Duration.parseIsoStringOrNull(isoString)
println("$isoString -> $duration")
}
https://blog.jetbrains.com/research/2025/04/kotlinxfuzz-kotlin-fuzzing/
✍️ @kotlin_lib
BY Kotlin

Share with your friend now:
tgoop.com/kotlin_lib/616