English
Related papers

Related papers: TOGA: A Neural Method for Test Oracle Generation

200 papers

Unit testing plays a critical role in ensuring software correctness. However, writing unit tests manually is labor-intensive, especially for strongly typed languages like Java, motivating the need for automated approaches. Traditional…

Software Engineering · Computer Science 2026-03-27 Qinghua Xu , Guancheng Wang , Lionel Briand , Kui Liu

Automated unit test case generation tools facilitate test-driven development and support developers by suggesting tests intended to identify flaws in their code. Existing approaches are usually guided by the test coverage criteria,…

Software Engineering · Computer Science 2021-05-24 Michele Tufano , Dawn Drain , Alexey Svyatkovskiy , Shao Kun Deng , Neel Sundaresan

Static analysis is one of the most widely adopted techniques to find software bugs before code is put in production. Designing and implementing effective and efficient static analyses is difficult and requires high expertise, which results…

Software Engineering · Computer Science 2019-06-04 Andrew Habib , Michael Pradel

Automated unit test generators, particularly search-based software testing tools like EvoSuite, are capable of generating tests with high coverage. Although these generators alleviate the burden of writing unit tests, they often pose…

Software Engineering · Computer Science 2024-08-22 Amirhossein Deljouyi , Roham Koohestani , Maliheh Izadi , Andy Zaidman

Unit testing is essential for software quality assurance, yet writing and maintaining tests remains time-consuming and error-prone. To address this challenge, researchers have proposed various techniques for automating unit test generation,…

Software Engineering · Computer Science 2025-10-14 Dianshu Liao , Xin Yin , Shidong Pan , Chao Ni , Zhenchang Xing , Xiaoyu Sun

Large language models (LLMs) have recently achieved notable success in code-generation benchmarks such as HumanEval and LiveCodeBench. However, a detailed examination reveals that these evaluation suites often comprise only a limited number…

Computation and Language · Computer Science 2025-07-11 Zihan Ma , Taolin Zhang , Maosong Cao , Junnan Liu , Wenwei Zhang , Minnan Luo , Songyang Zhang , Kai Chen

REST API test case generation tools are evolving rapidly, with growing capabilities for the automated generation of complex tests. However, despite their strengths in test data generation, these tools are constrained by the types of test…

Software Engineering · Computer Science 2025-09-03 Juan C. Alonso , Alberto Martin-Lopez , Sergio Segura , Gabriele Bavota , Antonio Ruiz-Cortés

In software testing, a set of test cases is constructed according to some predefined selection criteria. The software is then examined against these test cases. Three interesting observations have been made on the current artifacts of…

Software Engineering · Computer Science 2020-03-02 T. Y. Chen , S. C. Cheung , S. M. Yiu

Regression testing is crucial in ensuring that pure code refactoring does not adversely affect existing software functionality, but it can be expensive, accounting for half the cost of software maintenance. Automated test case generation…

Software Engineering · Computer Science 2024-01-05 Alejandra Duque-Torres , Claus Klammer , Dietmar Pfahl , Stefan Fischer , Rudolf Ramler

Writing tests is a time-consuming yet essential task during software development. We propose to leverage recent advances in deep learning for text and code generation to assist developers in writing tests. We formalize the novel task of…

Software Engineering · Computer Science 2023-03-08 Pengyu Nie , Rahul Banerjee , Junyi Jessy Li , Raymond J. Mooney , Milos Gligoric

Compiler correctness is a cornerstone of reliable software development. However, systematic testing of compilers is infeasible, given the vast space of possible programs and the complexity of modern programming languages. In this context,…

Software Engineering · Computer Science 2024-01-15 Calin Georgescu , Mitchell Olsthoorn , Pouria Derakhshanfar , Marat Akhin , Annibale Panichella

Tile-based programming frameworks are increasingly adopted to write high-performance GPU kernels in domains such as deep learning and scientific computing. While these frameworks enhance productivity and hardware utilization, their…

Software Engineering · Computer Science 2026-05-20 Ravishka Rathnasuriya , Zihe Song , Nidhi Majoju , Aaryaa Moharir , Tingxi Li , Wei Yang , Tao Xie

Unit testing attempts to validate the correctness of basic units of the software system under test and has a crucial role in software development and testing. Very recent work proposes a retrieve-and-edit approach to generate unit test…

Software Engineering · Computer Science 2025-02-25 Quanjun Zhang , Chunrong Fang , Yi Zheng , Ruixiang Qian , Shengcheng Yu , Yuan Zhao , Jianyi Zhou , Yun Yang , Tao Zheng , Zhenyu Chen

Metamorphic testing is a well known approach to tackle the oracle problem in software testing. This technique requires the use of source test cases that serve as seeds for the generation of follow-up test cases. Systematic design of test…

Software Engineering · Computer Science 2018-02-22 Prashanta Saha , Upulee Kanewala

A test oracle determines whether a system behaves correctly for a given input. Automatic testing techniques rely on an automated test oracle to test the system without user interaction. Important families of automated test oracles include…

Software Engineering · Computer Science 2022-10-21 Manuel Rigger , Zhendong Su

Though many machine learning (ML)-based unit testing generation approaches have been proposed and indeed achieved remarkable performance, they still have several limitations in effectiveness and practical usage. More precisely, existing…

Software Engineering · Computer Science 2024-06-25 Chao Ni , Xiaoya Wang , Liushan Chen , Dehai Zhao , Zhengong Cai , Shaohua Wang , Xiaohu Yang

During testing, developers can place oracles externally or internally with respect to a method. Given a faulty execution state, i.e., one that differs from the expected one, an oracle might be unable to expose the fault if it is placed at a…

Software Engineering · Computer Science 2020-11-24 Gunel Jahangirova , David Clark , Mark Harman , Paolo Tonella

Finding and fixing bugs are time-consuming activities in software development. Spectrum-based fault localization aims to identify the faulty position in source code based on the execution trace of test cases. Failing test cases and their…

Software Engineering · Computer Science 2018-07-06 Jifeng Xuan , Martin Monperrus

Artificial Intelligence (AI) compilers are critical for efficiently deploying AI models across diverse hardware platforms. However, they remain prone to bugs that can compromise both compiler reliability and model correctness. Thus,…

Software Engineering · Computer Science 2026-01-27 Qingchao Shen

Authentication is a critical security feature for confirming the identity of a system's users, typically implemented with help from frameworks like Spring Security. It is a complex feature which should be robustly tested at all stages of…

Software Engineering · Computer Science 2020-06-26 Danielle Gonzalez , Michael Rath , Mehdi Mirakhorli