Hasty Briefsbeta

Bilingual

The Unreasonable Effectiveness of Fuzzing for Porting Programs

a year ago
  • #LLMs
  • #Fuzzing
  • #Code Porting
  • LLMs are increasingly used to automate code porting, such as from C to Rust, by writing fuzz tests and building ports in topological order.
  • TensorFlow's maintenance challenges highlight the potential for LLMs to reduce technical debt by automating large-scale refactoring and porting tasks.
  • Property testing and fuzzing are effective strategies for ensuring correctness during automated porting, comparing outputs between original and ported code.
  • A practical example demonstrates porting Zopfli from C to Rust using LLMs, achieving identical results with minimal manual intervention.
  • Despite successes, challenges remain, such as producing idiomatic Rust code and fully automating the porting process without human oversight.