Feedback Loops and Code Perturbations in LLM-based Software Engineering: A Case Study on a C-to-Rust Translation System
Martin Weiss, Jesko Hecking-Harbusch, Jochen Quante, Matthias Woehrle

TL;DR
This study investigates how feedback loops, LLM choice, and code modifications affect the reliability of an automated C-to-Rust translation system, revealing that feedback mechanisms can mitigate model differences and enhance robustness.
Contribution
It provides an empirical analysis of feedback loops and code perturbations in LLM-based code translation, highlighting their impact on system success and robustness.
Findings
Feedback loops reduce model selection impact on translation success
Diverse code perturbations can improve system performance
Feedback mechanisms enhance robustness under code changes
Abstract
The advent of strong generative AI has a considerable impact on various software engineering tasks such as code repair, test generation, or language translation. While tools like GitHub Copilot are already in widespread use in interactive settings, automated approaches require a higher level of reliability before being usable in industrial practice. In this paper, we focus on three aspects that directly influence the quality of the results: a) the effect of automated feedback loops, b) the choice of Large Language Model (LLM), and c) the influence of behavior-preserving code changes. We study the effect of these three variables on an automated C-to-Rust translation system. Code translation from C to Rust is an attractive use case in industry due to Rust's safety guarantees. The translation system is based on a generate-and-check pattern, in which Rust code generated by the LLM is…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software Reliability and Analysis Research
