I wanted to experiment with compiler fuzzing in a small and simple project.
This playground generates random Kotlin programs, compiles them with kotlinc, and saves interesting crash cases for later analysis
- Generates many small random programs (functions, loops, inline functions).
- Compiles them with
kotlinc. - If the compiler crashes or prints an internal error, the input is saved to
crashes/for further analysis.
python3 src/main.py --iterations 200--iterations— number of fuzzing iterations--kotlinc— Kotlin compiler executable or path--output-dir— directory for saved crash cases
- Python 3.10+
- Kotlin compiler
(kotlinc)available in PATH