Get the latest tech news
The unreasonable effectiveness of fuzzing for porting programs
A simple strategy of having LLMs write fuzz tests and build up a port in topological order seems effective at automating porting from C to Rust. Agents are starting to produce more and more code A week or 2 back, I was reflecting on some code Claude had generated for me and I had a sort of moment of clarity.
We can change our APIs to fix issues, and give downstream users an LLM prompt to migrate over to the new version automatically, instead of rewriting their code themselves. Even though TensorFlow was moving to maintenance mode, if we could have made this type of change it would have improved the maintainer and users' experience for the years we need to keep the lights on. No attempt was made to guide the fuzz test inputs other than instructing the LLM to avoid generating invalid structures (e.g. null pointers or numbers out of an expected range).
Or read this on Hacker News