Turbulence: Systematically and Automatically Testing Instruction-Tuned Large Language Models for Code
Not on the map. Why?
Abstract (arXiv)
We present a method for systematically evaluating the correctness and robustness of instruction-tuned large language models (LLMs) for code generation via a new benchmark, Turbulence. Turbulence consists of a large set of natural language textitquestion templates, each of which is a programming problem, parameterised so that it can be asked in many different forms. Each question template has an associated textittest oracle that judges whether a code solution returned by an LLM is correct. Thus, from a single question template, it is possible to ask an LLM a textitneighbourhood of very similar programming questions, and assess the correctness of the result returned for each question. This allows gaps in an LLM's code generation abilities to be identified, including textitanomalies where the LLM correctly solves textitalmost all questions in a neighbourhood but fails for particular parameter instantiations. We present experiments against five LLMs from OpenAI, Cohere and Meta, each at two temperature configurations. Our findings show that, across the board, Turbulence is able to reveal gaps in LLM reasoning ability. This goes beyond merely highlighting that LLMs sometimes produce wrong code (which is no surprise): by systematically identifying cases where LLMs are able to solve some problems in a neighbourhood but do not manage to generalise to solve the whole neighbourhood, our method is effective at highlighting textitrobustness issues. We present data and examples that shed light on the kinds of mistakes that LLMs make when they return incorrect code results.
Key facts. Cited by 9 papers in the map (data through 7 Oct 2026). Builds on 61 of its 105 references that are in the map. First posted on arXiv 22 Dec 2023.
Builds on
61 of 105 references.
References · 61
- 2023GPT-4 Technical Reportcited by 18,132
- 2021Evaluating Large Language Models Trained on Codecited by 8,053
- 2022Large Language Models are Zero-Shot Reasonerscited by 4,323
- 2021Finetuned Language Models Are Zero-Shot Learnerscited by 3,747
- 2021Program Synthesis with Large Language Modelscited by 3,509
- 2022Competition-Level Code Generation with AlphaCodecited by 1,427
- 2023Is Your Code Generated by ChatGPT Really Correct? Rigorous Evaluation of Large Language Models for Code Generationcited by 1,332
- 2023A Survey on Evaluation of Large Language Modelscited by 1,227
- 2021Measuring Coding Challenge Competence With APPScited by 879
- 2021CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generationcited by 732
- 2021A Survey of Uncertainty in Deep Neural Networkscited by 675
- 2023Instruction Tuning for Large Language Models: A Surveycited by 617
38 more
- 2021Prompt Programming for Large Language Models: Beyond the Few-Shot Paradigmcited by 599
- 2022Language Models are Multilingual Chain-of-Thought Reasonerscited by 518
- 2021Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributionscited by 417
- 2022A Systematic Evaluation of Large Language Models of Codecited by 360
- 2022Language Models Are Greedy Reasoners: A Systematic Formal Analysis of Chain-of-Thoughtcited by 334
- 2022Do Users Write More Insecure Code with AI Assistants?cited by 186
- 2023Large Language Models for Software Engineering: Survey and Open Problemscited by 178
- 2023ClassEval: A Manually-Crafted Benchmark for Evaluating LLMs on Class-level Code Generationcited by 166
- 2022GitHub Copilot AI pair programmer: Asset or Liability?cited by 150
- 2022Practical Program Repair in the Era of Large Pre-trained Language Modelscited by 133
- 2019Unifying Human and Statistical Evaluation for Natural Language Generationcited by 127
- 2022Benchmarking Large Language Models for Automated Verilog RTL Code Generationcited by 112
- 2022ReCode: Robustness Evaluation of Code Generation Modelscited by 100
- 2018Language GANs Falling Shortcited by 97
- 2023Revisiting Out-of-distribution Robustness in NLP: Benchmark, Analysis, and LLMs Evaluationscited by 96
- 2023The Programmer's Assistant: Conversational Interaction with a Large Language Model for Software Developmentcited by 95
- 2022Natural Attack for Pre-trained Models of Codecited by 72
- 2022Automated Repair of Programs from Large Language Modelscited by 71
- 2023On the Robustness of Code Generation Techniques: An Empirical Study on GitHub Copilotcited by 64
- 2019Adversarial Examples for Models of Codecited by 61
- 2022What Do They Capture? -- A Structural Analysis of Pre-Trained Language Models for Source Codecited by 50
- 2023Evaluating Instruction-Tuned Large Language Models on Code Comprehension and Generationcited by 49
- 2022CoditT5: Pretraining for Source Code and Natural Language Editingcited by 45
- 2021Perfection Not Required? Human-AI Partnerships in Code Translationcited by 42
- 2022What is it like to program with artificial intelligence?cited by 39
- 2022CCTEST: Testing and Repairing Code Completion Systemscited by 35
- 2023Beyond Accuracy: Evaluating Self-Consistency of Code Large Language Models with IdentityChaincited by 31
- 2023Can Large Language Models Write Good Property-Based Tests?cited by 30
- 2023A Critical Review of Large Language Model on Software Engineering: An Example from ChatGPT and Automated Program Repaircited by 29
- 2023Large Language Models in Fault Localisationcited by 28
- 2023An Empirical Comparison of Pre-Trained Models of Source Codecited by 25
- 2021Generating Adversarial Computer Programs using Optimized Obfuscationscited by 20
- 2023Leveraging Large Language Models to Improve REST API Testingcited by 20
- 2023Exploring the Robustness of Large Language Models for Solving Programming Problemscited by 16
- 2022Piloting Copilot, Codex, and StarCoder2: Hot Temperature, Cold Prompts, or Black Magic?cited by 14
- 2023An Empirical Study on Using Large Language Models to Analyze Software Supply Chain Security Failurescited by 11
- 2022How Important are Good Method Names in Neural Code Generation? A Model Robustness Perspectivecited by 9
- 2023Code Difference Guided Adversarial Example Generation for Deep Code Modelscited by 8
50 most cited of 61 All 61 (JSON)
Built on by
Citing papers per year: 2024: 5; 2025: 3; 2026: 1.
9 papers.
- 2024Bugs in Large Language Models Generated Code: An Empirical Studycited by 59
- 2024How secure is AI-generated Code: A Large-Scale Comparison of Large Language Modelscited by 23
- 2025Enhancing LLM Robustness to Perturbed Instructions: An Empirical Studycited by 17
- 2024Dynamic Intelligence Assessment: Benchmarking LLMs on the Road to AGI with a Focus on Model Confidencecited by 5
- 2025Benchmarking AI Models in Software Engineering: A Review, Search Tool, and Unified Approach for Elevating Benchmark Qualitycited by 3
- 2024Test Code Generation for Telecom Software Systems using Two-Stage Generative Modelcited by 2
- 2026Capture the Flags: Family-Based Evaluation of Agentic LLMs via Semantics-Preserving Transformationscited by 2
- 2024Knowledge-based Consistency Testing of Large Language Modelscited by 1
- 2025Probing Audio-Generation Capabilities of Text-Based Language Modelscited by 1
- 2026Capture the Flags: Family-Based Evaluation of Agentic LLMs via Semantics-Preserving Transformations5 Feb 2026
- 2025Probing Audio-Generation Capabilities of Text-Based Language Models4 May 2025
- 2025Enhancing LLM Robustness to Perturbed Instructions: An Empirical Study3 Apr 2025
- 2025Benchmarking AI Models in Software Engineering: A Review, Search Tool, and Unified Approach for Elevating Benchmark Quality7 Mar 2025
- 2024Dynamic Intelligence Assessment: Benchmarking LLMs on the Road to AGI with a Focus on Model Confidence20 Oct 2024
- 2024Knowledge-based Consistency Testing of Large Language Models3 Jul 2024
- 2024How secure is AI-generated Code: A Large-Scale Comparison of Large Language Models29 Apr 2024
- 2024Test Code Generation for Telecom Software Systems using Two-Stage Generative Model14 Apr 2024
- 2024Bugs in Large Language Models Generated Code: An Empirical Study13 Mar 2024
Similar, not cited
Close in wording, no citation either way
- 2025Infinite-Instruct: Synthesizing Scaling Code instruction Data with Bidirectional Synthesis and Static Verification
- 2025OpenCodeReasoning-II: A Simple Test Time Scaling Approach via Self-Critique
- 2025CodeChemist: Test-Time Scaling for Low-Resource Code Generation via Functional Knowledge Transfer
- 2026Are you Synthesizing or Recalling? Evaluating LLMs on Algorithmic Code Retrieval
- 2025PACIFIC: a framework for generating benchmarks to check Precise Automatically Checked Instruction Following In Code
- 2024Large Language Models as Test Case Generators: Performance Evaluation and Enhancement
- 2026EsoLang-Bench: Evaluating Genuine Reasoning in Large Language Models via Esoteric Programming Languages
- 2026Narrowing the Complexity Gap in the Evaluation of Large Language Models ↗