English
Related papers

Related papers: RICK: Generating Mocks from Production Data

200 papers

Mocking allows testing program units in isolation. A developer who writes tests with mocks faces two challenges: design realistic interactions between a unit and its environment; and understand the expected impact of these interactions on…

Software Engineering · Computer Science 2024-09-17 Deepika Tiwari , Martin Monperrus , Benoit Baudry

Mock assertions provide developers with a powerful means to validate program behaviors that are unobservable to test assertions. Despite their significance, they are rarely considered by automated test generation techniques. Effective…

Software Engineering · Computer Science 2025-03-26 Hengcheng Zhu , Valerio Terragni , Lili Wei , Shing-Chi Cheung , Jiarong Wu , Yepang Liu

Large Language Models (LLMs) have recently shown strong potential for automated unit test generation. This has motivated us to investigate whether developer-defined test doubles (commonly referred to as mocks) available in existing test…

Software Engineering · Computer Science 2026-04-22 Jamie Lee , Flynn Teh , Hengcheng Zhu , Mengzhen Li , Mattia Fazzini , Valerio Terragni

Mocking is an essential unit testing technique for isolating the class under test (CUT) from its dependencies. Developers often leverage mocking frameworks to develop stub code that specifies the behaviors of mock objects. However,…

Software Engineering · Computer Science 2023-08-22 Hengcheng Zhu , Lili Wei , Valerio Terragni , Yepang Liu , Shing-Chi Cheung , Jiarong Wu , Qin Sheng , Bing Zhang , Lihong Song

In this paper, we propose to use production executions to improve the quality of testing for certain methods of interest for developers. These methods can be methods that are not covered by the existing test suite, or methods that are…

Software Engineering · Computer Science 2021-09-10 Deepika Tiwari , Long Zhang , Martin Monperrus , Benoit Baudry

Clearly articulating the assumptions of the execution environment is crucial for the successful application of code-level formal verification. The process of specifying a model for the environment can be both laborious and error-prone,…

Software Engineering · Computer Science 2024-09-20 Siddharth Priya , Temesghen Kahsai , Arie Gurfinkel

Software testing remains the most widely used methodology for validating quality of code. However, effectiveness of testing critically depends on the quality of test suites used. Test cases in a test suite consist of two fundamental parts:…

Software Engineering · Computer Science 2025-07-22 Shan Jiang , Chenguang Zhu , Sarfraz Khurshid

A key aspect of ensuring the quality of a software system is the practice of unit testing. Through unit tests, developers verify the correctness of production source code, thereby verifying the system's intended behavior under test.…

Software Engineering · Computer Science 2021-03-18 Anthony Peruma , Christian D. Newman

Coding agents have received significant adoption in software development recently. Unlike traditional LLM-based code completion tools, coding agents work with autonomy (e.g., invoking external tools) and leave visible traces in software…

Software Engineering · Computer Science 2026-02-03 Andre Hora , Romain Robbes

Mocking is a common unit testing technique that is used to simplify tests, reduce flakiness, and improve coverage by replacing real dependencies with simplified implementations. Despite its widespread use in Open Source Software projects,…

Software Engineering · Computer Science 2025-07-01 Mumtahina Ahmed , Md Nahidul Islam Opu , Chanchal Roy , Sujana Islam Suhi , Shaiful Chowdhury

Most modern software systems are characterized by a high number of components whose interactions can affect and complicate testing activities. During testing, developers can account for the interactions by isolating the code under test…

Software Engineering · Computer Science 2024-07-31 Mengzhen Li , Mattia Fazzini

Documenting the functionality of software units with code comments, e.g., Javadoc comments, is a common programmer best-practice in software engineering. This paper introduces a novel test generation technique that exploits the code-comment…

Software Engineering · Computer Science 2025-05-01 Giovanni Denaro , Luca Guglielmo

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

Due to the increasing volume, volatility, and diversity of data in virtually all areas of our lives, the ability to detect duplicates in potentially linked data sources is more important than ever before. However, while research is already…

Databases · Computer Science 2024-01-01 Fabian Panse , Wolfram Wingerath , Benjamin Wollmer

Automated test case generation is important. However, the automatically generated test input does not always make sense, and the automated assertion is difficult to validate against the program under test. In this paper, we propose…

Software Engineering · Computer Science 2025-05-12 Baoquan Cui , Rong Qu , Jian Zhang

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…

While deep learning (DL) has permeated, and become an integral component of many critical software systems, today software engineering research hasn't explored how to separately test data and models that are integral for DL approaches to…

Software Engineering · Computer Science 2025-02-12 Ruchira Manke , Mohammad Wardat , Foutse Khomh , Hridesh Rajan

Implementing automated unit tests is an important but time-consuming activity in software development. To assist developers in this task, many techniques for automating unit test generation have been developed. However, despite this effort,…

Software Engineering · Computer Science 2025-01-16 Rangeet Pan , Myeongsoo Kim , Rahul Krishna , Raju Pavuluri , Saurabh Sinha

We propose a method that employs static and dynamic analysis for augmenting a test suite with automatically generated unit tests. The method is most suitable for test suites where the stratification of unit, integration and system tests…

Software Engineering · Computer Science 2026-05-08 Katerina Paltoglou , Vassilis E. Zafeiris

We present JAttack, a framework that enables template-based testing for compilers. Using JAttack, a developer writes a template program that describes a set of programs to be generated and given as test inputs to a compiler. Such a…

Programming Languages · Computer Science 2022-09-13 Zhiqiang Zang , Nathan Wiatrek , Milos Gligoric , August Shi
‹ Prev 1 2 3 10 Next ›