English
Related papers

Related papers: Automated Test Case Repair Using Language Models

200 papers

Language models (LMs) now excel at many tasks such as few-shot learning, question answering, reasoning, and dialog. However, they sometimes generate unsupported or misleading content. A user cannot easily determine whether their outputs are…

Automatic program repair (APR) techniques have the potential to reduce manual efforts in uncovering and repairing program defects during the code review (CR) process. However, the limited accuracy and considerable time costs associated with…

Software Engineering · Computer Science 2024-01-01 Zelin Zhao , Zhaogui Xu , Jialong Zhu , Peng Di , Yuan Yao , Xiaoxing Ma

Retrieval Augmented Generation (RAG) is increasingly being used when building Generative AI applications. Evaluating these applications and RAG pipelines is mostly done manually, via a trial and error process. Automating evaluation of RAG…

Computation and Language · Computer Science 2024-10-01 Shangeetha Sivasothy , Scott Barnett , Stefanus Kurniawan , Zafaryab Rasool , Rajesh Vasa

Automatically fixing compilation errors can greatly raise the productivity of software development, by guiding the novice or AI programmers to write and debug code. Recently, learning-based program repair has gained extensive attention and…

Software Engineering · Computer Science 2022-10-11 Xueyang Li , Shangqing Liu , Ruitao Feng , Guozhu Meng , Xiaofei Xie , Kai Chen , Yang Liu

As production code evolves, the test suite must co-evolve to remain effective. Existing benchmarks for test evolution operate at method-level granularity with pre-paired inputs, bypassing the task of locating affected tests from the full…

Software Engineering · Computer Science 2026-05-08 Ye Shang , Quanjun Zhang , Haichuan Hu , Chunrong Fang , Liang Xiao , Zhenyu Chen

Unit testing is essential in detecting bugs in functionally-discrete program units. Manually writing high-quality unit tests is time-consuming and laborious. Although traditional techniques can generate tests with reasonable coverage, they…

Software Engineering · Computer Science 2024-05-21 Zhiqiang Yuan , Yiling Lou , Mingwei Liu , Shiji Ding , Kaixin Wang , Yixuan Chen , Xin Peng

Software development life cycle is profoundly influenced by bugs: their introduction, identification, and eventual resolution account for a significant portion of software cost. This has motivated software engineering researchers and…

Software Engineering · Computer Science 2023-03-14 Matthew Jin , Syed Shahriar , Michele Tufano , Xin Shi , Shuai Lu , Neel Sundaresan , Alexey Svyatkovskiy

Test-driven development (TDD) is a widely-employed software development practice that mandates writing test cases based on requirements before writing the actual code. While writing test cases is the centerpiece of TDD, it is…

Software Engineering · Computer Science 2025-03-03 Wannita Takerngsaksiri , Rujikorn Charakorn , Chakkrit Tantithamthavorn , Yuan-Fang Li

Tool learning aims to augment large language models (LLMs) with diverse tools, enabling them to act as agents for solving practical tasks. Due to the limited context length of tool-using LLMs, adopting information retrieval (IR) models to…

Computation and Language · Computer Science 2025-05-27 Zhengliang Shi , Yuhan Wang , Lingyong Yan , Pengjie Ren , Shuaiqiang Wang , Dawei Yin , Zhaochun Ren

Bug localization remains a key bottleneck in downstream software maintenance tasks, including root cause analysis, triage, and automated program repair (APR), despite recent advances in large language model (LLM)-based repair systems.…

Software Engineering · Computer Science 2026-05-19 Md Afif Al Mamun , Gias Uddin

Automatic program repair usually relies heavily on test cases for both bug identification and fix validation. The issue is that writing test cases is tedious, running them takes much time, and validating a fix through tests does not…

Software Engineering · Computer Science 2024-05-10 Li Huang , Bertrand Meyer , Ilgiz Mustafin , Manuel Oriol

Detecting and fixing bugs are two of the most important yet frustrating parts of the software development cycle. Existing bug detection tools are based mainly on static analyzers, which rely on mathematical logic and symbolic reasoning…

Computation and Language · Computer Science 2021-10-04 Dawn Drain , Chen Wu , Alexey Svyatkovskiy , Neel Sundaresan

With the wide adoption of automated speech recognition (ASR) systems, it is increasingly important to test and improve ASR systems. However, collecting and executing speech test cases is usually expensive and time-consuming, motivating us…

Software Engineering · Computer Science 2023-02-02 Zhou Yang , Jieke Shi , Muhammad Hilmi Asyrofi , Bowen Xu , Xin Zhou , DongGyun Han , David Lo

Large Language Models (LLMs) have shown high capabilities in several software development-related tasks such as program repair, documentation, code refactoring, debugging, and testing. However, training these models requires massive amount…

Software Engineering · Computer Science 2025-06-10 Meghdad Dehghan , Jie JW Wu , Fatemeh H. Fard , Ali Ouni

Automated Test Case Generation (ATCG) is crucial for evaluating software reliability, particularly in competitive programming where robust algorithm assessments depend on diverse and accurate test cases. However, existing ATCG methods often…

Software Engineering · Computer Science 2025-05-22 Sicheol Sung , Aditi , Dogyu kim , Yo-Sub Han , Sang-Ki Ko

This paper presents TransRepair, a fully automatic approach for testing and repairing the consistency of machine translation systems. TransRepair combines mutation with metamorphic testing to detect inconsistency bugs (without access to…

Software Engineering · Computer Science 2019-12-30 Zeyu Sun , Jie M. Zhang , Mark Harman , Mike Papadakis , Lu Zhang

Test cases are essential for software development and maintenance. In practice, developers derive multiple test cases from an implicit pattern based on their understanding of requirements and inference of diverse test scenarios, each…

Software Engineering · Computer Science 2026-04-28 Binhang Qi , Yun Lin , Xinyi Weng , Chenyan Liu , Hailong Sun , Gordon Fraser , Jin Song Dong

The rapid release of both language models and benchmarks makes it increasingly costly to evaluate every model on every dataset. In practice, models are often evaluated on different samples, making scores difficult to compare across studies.…

Computation and Language · Computer Science 2026-04-16 Eliya Habba , Itay Itzhak , Asaf Yehudai , Yotam Perlitz , Elron Bandel , Michal Shmueli-Scheuer , Leshem Choshen , Gabriel Stanovsky

It is natural to suppose that a Large Language Model is more likely to generate correct test cases when prompted with correct code under test, compared to incorrect code under test. However, the size of this effect has never been previously…

Software Engineering · Computer Science 2025-03-31 Dong Huang , Jie M. Zhang , Mark Harman , Mingzhe Du , Heming Cui

Type errors in Python often lead to runtime failures, posing significant challenges to software reliability and developer productivity. Existing static analysis tools aim to detect such errors without execution but frequently suffer from…

Software Engineering · Computer Science 2025-10-03 Chen Yang , Ziqi Wang , Yanjie Jiang , Lin Yang , Yuteng Zheng , Jianyi Zhou , Junjie Chen