Do LLMs generate test oracles that capture the actual or the expected program behaviour?
Not on the map. Why?
Abstract (arXiv)
Software testing is an essential part of the software development cycle to improve the code quality. Typically, a unit test consists of a test prefix and a test oracle which captures the developer's intended behaviour. A known limitation of traditional test generation techniques (e.g. Randoop and Evosuite) is that they produce test oracles that capture the actual program behaviour rather than the expected one. Recent approaches leverage Large Language Models (LLMs), trained on an enormous amount of data, to generate developer-like code and test cases. We investigate whether the LLM-generated test oracles capture the actual or expected software behaviour. We thus, conduct a controlled experiment to answer this question, by studying LLMs performance on two tasks, namely, test oracle classification and generation. The study includes developer-written and automatically generated test cases and oracles for 24 open-source Java repositories, and different well tested prompts. Our findings show that LLM-based test generation approaches are also prone on generating oracles that capture the actual program behaviour rather than the expected one. Moreover, LLMs are better at generating test oracles rather than classifying the correct ones, and can generate better test oracles when the code contains meaningful test or variable names. Finally, LLM-generated test oracles have higher fault detection potential than the Evosuite ones.
Key facts. Cited by 10 papers in the map (data through 7 Oct 2026). First posted on arXiv 28 Oct 2024.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2025: 2; 2026: 8.
10 papers.
- 2026LLMLOOP: Improving LLM-Generated Code and Tests through Automated Iterative Feedback Loopscited by 8
- 2025Large Language Models for Software Testing: A Research Roadmapcited by 2
- 2026Understanding LLM-Driven Test Oracle Generationcited by 2
- 2025Harden and Catch for Just-in-Time Assured LLM-Based Software Testing: Open Research Challengescited by 1
- 2026All Smoke, No Alarm: Oracle Signals in Agent-Authored Test Codecited by 1
- 2026LogicHunter: Testing LLM Agent Frameworks with an Agentic Oraclecited by 1
- 2026RESTestBench: A Benchmark for Evaluating the Effectiveness of LLM-Generated REST API Test Cases from NL Requirementscited by 0
- 2026Inferring Code Correctness from Specificationcited by 0
- 2026The Quality of Claude AI-authored Python Tests Is Not Weaker Than Human-authored Testscited by 0
- 2026Independent Verification Paths Are Not Independent: A Case Study of Common-Mode Failure in a Satellite Catalogue Pipelinecited by 0
- 2026Independent Verification Paths Are Not Independent: A Case Study of Common-Mode Failure in a Satellite Catalogue Pipeline29 Sep 2026
- 2026The Quality of Claude AI-authored Python Tests Is Not Weaker Than Human-authored Tests15 Aug 2026
- 2026LogicHunter: Testing LLM Agent Frameworks with an Agentic Oracle7 Jul 2026
- 2026All Smoke, No Alarm: Oracle Signals in Agent-Authored Test Code16 Jun 2026
- 2026Inferring Code Correctness from Specification28 May 2026
- 2026RESTestBench: A Benchmark for Evaluating the Effectiveness of LLM-Generated REST API Test Cases from NL Requirements28 Apr 2026
- 2026LLMLOOP: Improving LLM-Generated Code and Tests through Automated Iterative Feedback Loops24 Mar 2026
- 2026Understanding LLM-Driven Test Oracle Generation9 Jan 2026
- 2025Large Language Models for Software Testing: A Research Roadmap29 Sep 2025
- 2025Harden and Catch for Just-in-Time Assured LLM-Based Software Testing: Open Research Challenges23 Apr 2025