CodeTaste: Can LLMs Generate Human-Level Code Refactorings?
This work addresses the problem of improving the structural quality and maintainability of code generated by LLMs for developers, by aligning LLM refactoring decisions with human choices.
This paper investigates whether LLMs can reliably execute code refactorings and identify refactorings chosen by human developers. They found that frontier models perform well when refactorings are specified in detail but often fail to discover human refactoring choices when only given a focus area for improvement.
Large language model (LLM) coding agents can generate working code, but their solutions often accumulate complexity, duplication, and architectural debt. Human developers address such issues through refactoring: behavior-preserving program transformations that improve structure and maintainability. In this paper, we investigate if LLM agents (i) can execute refactorings reliably and (ii) identify the refactorings that human developers actually chose in real codebases. We present CodeTaste, a benchmark of refactoring tasks mined from large-scale multi-file changes in open-source repositories. To score solutions, we combine repository test suites with custom static checks that verify removal of undesired patterns and introduction of desired patterns using dataflow reasoning. Our experimental results indicate a clear gap across frontier models: agents perform well when refactorings are specified in detail, but often fail to discover the human refactoring choices when only presented with a focus area for improvement. A propose-then-implement decomposition improves alignment, and selecting the best-aligned proposal before implementation can yield further gains. CodeTaste provides an evaluation target and a potential preference signal for aligning coding agents with human refactoring decisions in realistic codebases.