UCI fuzzing / stress testing
Moderator: Ras
-
- Posts: 22
- Joined: Fri May 30, 2025 10:18 pm
- Full name: Ben Vining
UCI fuzzing / stress testing
I'm aware of tournament manager tools like fastchess/cutechess, but I'm wondering if there are any tools that are designed to stress test an engine's conformance to UCI. Perhaps by doing things like sending commands with arbitrary amounts of whitespace between tokens, sending unknown commands to make sure they're just ignored, etc.
-
- Posts: 1
- Joined: Sun Jun 08, 2025 10:09 am
- Full name: Ngoc Nhung
Re: UCI fuzzing / stress testing
Good question. I’ve done some informal fuzzing myself using custom scripts that push malformed or unexpected UCI commands — things like extra whitespace, rapid position/go sequences, or even unknown keywords. Some engines handle this gracefully, others don’t. I don’t know of a dedicated UCI fuzzing tool, but writing a basic Python script around a socket interface can get you pretty far if you're looking to test edge cases.
Hello I'm NgocNhung.
-
- Posts: 22
- Joined: Fri May 30, 2025 10:18 pm
- Full name: Ben Vining
Re: UCI fuzzing / stress testing
I see. Coming from a background in audio plugin development, we have https://github.com/Tracktion/pluginval, so I was hoping there would be a similar tool for chess engines. Perhaps I'll start working on one, maybe others would be interested in contributing.
-
- Posts: 558
- Joined: Tue Jul 03, 2018 10:19 am
- Full name: Folkert van Heusden
Re: UCI fuzzing / stress testing
https://github.com/Disservin/fastchess does thatbenvining wrote: ↑Wed Jun 04, 2025 8:47 pm I'm aware of tournament manager tools like fastchess/cutechess, but I'm wondering if there are any tools that are designed to stress test an engine's conformance to UCI. Perhaps by doing things like sending commands with arbitrary amounts of whitespace between tokens, sending unknown commands to make sure they're just ignored, etc.