Search papers, labs, and topics across Lattice.
The authors introduce a differential fuzzing approach to evaluate functional equivalence between original code and LLM-generated refactorings, addressing the limitations of predefined test cases in capturing semantic divergence. They applied this fuzzing technique to evaluate six LLMs (CodeLlama, Codestral, StarChat2, Qwen-2.5, Olmo-3, and GPT-4o) across three datasets and two refactoring types. The evaluation revealed that LLMs produce 19-35% functionally non-equivalent refactorings, with 21% of these errors going undetected by existing test suites.
LLM-powered code refactoring is more dangerous than we thought: up to 35% of refactorings subtly change program behavior, and existing tests often miss these critical errors.
With the rapid adoption of large language models (LLMs) in automated code refactoring, assessing and ensuring functional equivalence between LLM-generated refactoring and the original implementation becomes critical. While prior work typically relies on predefined test cases to evaluate correctness, in this work, we leverage differential fuzzing to check functional equivalence in LLM-generated code refactorings. Unlike test-based evaluation, a differential fuzzing-based equivalence checker needs no predefined test cases and can explore a much larger input space by executing and comparing thousands of automatically generated test inputs. In a large-scale evaluation of six LLMs (CodeLlama, Codestral, StarChat2, Qwen-2.5, Olmo-3, and GPT-4o) across three datasets and two refactoring types, we find that LLMs show a non-trivial tendency to alter program semantics, producing 19-35% functionally non-equivalent refactorings. Our experiments further demonstrate that about 21% of these non-equivalent refactorings remain undetected by the existing test suites of the three evaluated datasets. Collectively, the findings of this study imply that reliance on existing tests might overestimate functional equivalence in LLM-generated code refactorings, which remain prone to semantic divergence.