English
Related papers

Related papers: TestSpark: IntelliJ IDEA's Ultimate Test Generatio…

200 papers

Unit testing is a stage of testing where the smallest segment of code that can be tested in isolation from the rest of the system - often a class - is tested. Unit tests are typically written as executable code, often in a format provided…

Software Engineering · Computer Science 2021-10-27 Afonso Fontes , Gregory Gay , Francisco Gomes de Oliveira Neto , Robert Feldt

Unit testing is essential for software reliability, yet manual test creation is time-consuming and often neglected. Search-based software testing improves efficiency but produces tests with poor readability and maintainability, while LLMs…

Automated test generation holds great promise for alleviating the burdens of manual test creation. However, existing search-based techniques compromise on test readability, while LLM-based approaches are prohibitively expensive in practice.…

Software Engineering · Computer Science 2025-03-20 Kush Jain , Claire Le Goues

Automated testing tools typically create test cases that are different from what human testers create. This often makes the tools less effective, the created tests harder to understand, and thus results in tools providing less support to…

Software Engineering · Computer Science 2021-03-09 Eduard Enoiu , Robert Feldt

Unit testing verifies the presence of faults in individual software components. Previous research has been targeting the automatic generation of unit tests through the adoption of random or search-based algorithms. Despite their…

Software Engineering · Computer Science 2022-04-13 Fabiano Pecorelli , Giovanni Grano , Fabio Palomba , Harald C. Gall , Andrea De Lucia

Unique challenges arise when testing mobile applications due to their prevailing event-driven nature and complex contextual features (e.g. sensors, notifications). Current automated input generation approaches for Android apps are typically…

Software Engineering · Computer Science 2018-01-22 Kevin Moran , Mario Linares-Vasquez , Carlos Bernal-Cardenas , Christopher Vendome , Denys Poshyvanyk

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

The integration of generative AI tools like ChatGPT into software engineering workflows opens up new opportunities to boost productivity in tasks such as unit test engineering. However, these AI-assisted workflows can also significantly…

Software Engineering · Computer Science 2025-10-14 Baris Ardic , Quentin Le Dilavrec , Andy Zaidman

Unit testing is crucial in software engineering for ensuring quality. However, it's not widely used in parallel and high-performance computing software, particularly scientific applications, due to their smaller, diverse user base and…

Software Engineering · Computer Science 2024-07-09 Rabimba Karanjai , Aftab Hussain , Md Rafiqul Islam Rabin , Lei Xu , Weidong Shi , Mohammad Amin Alipour

A code generation model generates code by taking a prompt from a code comment, existing code, or a combination of both. Although code generation models (e.g., GitHub Copilot) are increasingly being adopted in practice, it is unclear whether…

AI-enabled features built on LLMs and agentic workflows are difficult to test, debug, and reproduce, especially for product-focused software engineers without a machine learning background. We present the AI Toolkit plugin for JetBrains…

Software Engineering · Computer Science 2026-05-15 Yaroslav Sokolov , Yury Khudyakov , Lenar Sharipov , Andrei Gasparian , Parth Tiwary , Artem Trofimov

Developers often change types of program elements. Such refactoring often involves updating not only the type of the element itself, but also the API of all type-dependent references in the code, thus it is tedious and time-consuming.…

Software Engineering · Computer Science 2022-05-10 Oleg Smirnov , Ameya Ketkar , Timofey Bryksin , Nikolaos Tsantalis , Danny Dig

We describe a novel approach to automating unit test generation for Java methods using large language models (LLMs). Existing LLM-based approaches rely on sample usage(s) of the method to test (focal method) and/or provide the entire class…

Researchers and practitioners have designed and implemented various automated test case generators to support effective software testing. Such generators exist for various languages (e.g., Java, C#, or Python) and for various platforms…

Automated test case generation has proven to be useful to reduce the usually high expenses of software testing. However, several studies have also noted the skepticism of testers regarding the comprehension of generated test suites when…

Software Engineering · Computer Science 2024-01-17 Pedro Delgado-Pérez , Aurora Ramírez , Kevin J. Valle-Gómez , Inmaculada Medina-Bulo , José Raúl Romero

Modern web services routinely provide REST APIs for clients to access their functionality. These APIs present unique challenges and opportunities for automated testing, driving the recent development of many techniques and tools that…

Software Engineering · Computer Science 2022-09-08 Myeongsoo Kim , Qi Xin , Saurabh Sinha , Alessandro Orso

This paper introduces TestIt, an open-source Python package designed to automate full-system integration testing using a Software-Based Self-Test (SBST) approach. By dynamically generating test vectors and golden references, TestIt…

Large language models (LLMs) are being used in many applications and prompts for these models are integrated into software applications as code-like artifacts. These prompts behave much like traditional software in that they take inputs,…

Software Engineering · Computer Science 2026-02-09 Reshabh K Sharma , Jonathan De Halleux , Shraddha Barke , Dan Grossman , Benjamin Zorn

Context: The software maintenance phase involves many activities such as code refactoring, bug fixing, code review or testing. Program comprehension is key to all these activities, as it demands developers to grasp the knowledge (e.g.,…

Software Engineering · Computer Science 2025-11-04 Vahid Etemadi , Gregorio Robles

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