Frustrated with Code Quality Issues? LLMs can Help!
Not on the map. Why?
Abstract (arXiv)
As software projects progress, quality of code assumes paramount importance as it affects reliability, maintainability and security of software. For this reason, static analysis tools are used in developer workflows to flag code quality issues. However, developers need to spend extra efforts to revise their code to improve code quality based on the tool findings. In this work, we investigate the use of (instruction-following) large language models (LLMs) to assist developers in revising code to resolve code quality issues. We present a tool, CORE (short for COde REvisions), architected using a pair of LLMs organized as a duo comprised of a proposer and a ranker. Providers of static analysis tools recommend ways to mitigate the tool warnings and developers follow them to revise their code. The proposer LLM of CORE takes the same set of recommendations and applies them to generate candidate code revisions. The candidates which pass the static quality checks are retained. However, the LLM may introduce subtle, unintended functionality changes which may go un-detected by the static analysis. The ranker LLM evaluates the changes made by the proposer using a rubric that closely follows the acceptance criteria that a developer would enforce. CORE uses the scores assigned by the ranker LLM to rank the candidate revisions before presenting them to the developer. CORE could revise 59.2% Python files (across 52 quality checks) so that they pass scrutiny by both a tool and a human reviewer. The ranker LLM is able to reduce false positives by 25.8% in these cases. CORE produced revisions that passed the static analysis tool in 76.8% Java files (across 10 quality checks) comparable to 78.3% of a specialized program repair tool, with significantly much less engineering efforts.
Key facts. Cited by 5 papers in the map (data through 7 Oct 2026). Builds on 32 of its 60 references that are in the map. First posted on arXiv 22 Sep 2023.
Builds on
32 of 60 references.
References · 32
- 2020Language Models are Few-Shot Learnerscited by 32,199
- 2022Training language models to follow instructions with human feedbackcited by 15,712
- 2023LLaMA: Open and Efficient Foundation Language Modelscited by 13,958
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2022PaLM: Scaling Language Modeling with Pathwayscited by 5,304
- 2017Deep reinforcement learning from human preferencescited by 3,846
- 2022Constitutional AI: Harmlessness from AI Feedbackcited by 2,950
- 2020Learning to summarize from human feedbackcited by 2,562
- 2021Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processingcited by 2,222
- 2023Large Language Models Are State-of-the-Art Evaluators of Translation Qualitycited by 416
- 2022Practical Program Repair in the Era of Large Pre-trained Language Modelscited by 133
- 2023InferFix: End-to-End Program Repair with LLMscited by 113
20 more
- 2018An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translationcited by 106
- 2021Examining Zero-Shot Vulnerability Repair with Large Language Modelscited by 105
- 2021Jigsaw: Large Language Models meet Program Synthesiscited by 103
- 2021CURE: Code-Aware Neural Machine Translation for Automatic Program Repaircited by 85
- 2022Automated Repair of Programs from Large Language Modelscited by 71
- 2022Repair Is Nearly Generation: Multilingual Program Repair with LLMscited by 68
- 2021A Syntax-Guided Edit Decoder for Neural Program Repaircited by 57
- 2021Neural Program Repair with Execution-based Backpropagationcited by 50
- 2023Conversational Automated Program Repaircited by 41
- 2019Getafix: Learning to Fix Bugs Automaticallycited by 40
- 2023Fully Autonomous Programming with Large Language Modelscited by 31
- 2018AVATAR : Fixing Semantic Bugs with Fix Patterns of Static Analysis Violationscited by 22
- 2023Guiding Language Models of Code with Global Context using Monitorscited by 20
- 2023A Survey on Automated Program Repair Techniquescited by 12
- 2022CodeQueries: A Dataset of Semantic Queries over Codecited by 11
- 2017Mining Fix Patterns for FindBugs Violationscited by 9
- 2018Learning Quick Fixes from Code Repositoriescited by 8
- 2021Sorald: Automatic Patch Suggestions for SonarQube Static Analysis Violationscited by 4
- 2023StaticFixer: From Static Analysis to Static Repaircited by 3
- 2021HIPPODROME: Data Race Repair using Static Analysis Summariescited by 2
Built on by
Citing papers per year: 2024: 1; 2025: 4.
5 papers.
- 2024LLMs: A Game-Changer for Software Engineers?cited by 11
- 2025Urban Computing in the Era of Large Language Modelscited by 2
- 2025Optimizing Code Runtime Performance through Context-Aware Retrieval-Augmented Generationcited by 1
- 2025A Blueprint for AI-Driven Software Quality: Integrating LLMs with Established Standardscited by 1
- 2025Security smells in infrastructure as code: a taxonomy update beyond the seven sinscited by 0
- 2025Security smells in infrastructure as code: a taxonomy update beyond the seven sins23 Sep 2025
- 2025A Blueprint for AI-Driven Software Quality: Integrating LLMs with Established Standards19 May 2025
- 2025Urban Computing in the Era of Large Language Models2 Apr 2025
- 2025Optimizing Code Runtime Performance through Context-Aware Retrieval-Augmented Generation28 Jan 2025
- 2024LLMs: A Game-Changer for Software Engineers?1 Nov 2024