English
Related papers

Related papers: PROZE: Generating Parameterized Unit Tests Informe…

200 papers

Automation of test oracles is one of the most challenging facets of software testing, but remains comparatively less addressed compared to automated test input generation. Test oracles rely on a ground-truth that can distinguish between the…

Software Engineering · Computer Science 2023-04-07 Ali Reza Ibrahimzada , Yigit Varli , Dilara Tekinoglu , Reyhaneh Jabbarvand

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…

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

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

Unit tests are widely used to check source code quality, but they can be too coarse-grained or ill-suited for testing individual program statements. We introduce inline tests to make it easier to check for faults in statements. We motivate…

Software Engineering · Computer Science 2022-09-15 Yu Liu , Pengyu Nie , Owolabi Legunsen , Milos Gligoric

Conventional unit tests validate single input-output pairs, leaving most inputs of an execution path untested. Property-based testing addresses this shortcoming by generating multiple inputs satisfying properties but requires significant…

Software Engineering · Computer Science 2025-12-17 Johann Glock , Clemens Bauer , Martin Pinzger

Merging other branches into the current working branch is common in collaborative software development. However, developers still heavily rely on the textual merge tools to handle the complicated merge tasks. The latent semantic merge…

Software Engineering · Computer Science 2020-03-03 Tao Ji , Liqian Chen , Xiaoguang Mao , Xin Yi , Jiahong Jiang

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

Unit testing is an essential activity in software development for verifying the correctness of software components. However, manually writing unit tests is challenging and time-consuming. The emergence of Large Language Models (LLMs) offers…

Software Engineering · Computer Science 2024-09-26 Lin Yang , Chen Yang , Shutao Gao , Weijing Wang , Bo Wang , Qihao Zhu , Xiao Chu , Jianyi Zhou , Guangtai Liang , Qianxiang Wang , Junjie Chen

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

Testing is widely recognized as an important stage of the software development lifecycle. Effective software testing can provide benefits such as bug finding, preventing regressions, and documentation. In terms of documentation, unit tests…

Software Engineering · Computer Science 2022-04-22 Elizabeth Dinella , Gabriel Ryan , Todd Mytkowicz , Shuvendu K. Lahiri

To create unit tests, it may be necessary to refactor the production code, e.g. by widening access to specific methods or by decomposing classes into smaller units that are easier to test independently. We report on an extensive study to…

Software Engineering · Computer Science 2023-03-28 Pavel Reich , Walid Maalej

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

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

Code review is a key element of quality assurance in software development. Determining the right reviewer for a given code change requires understanding the characteristics of the changed code, identifying the skills of each potential…

Software Engineering · Computer Science 2023-05-10 Md Ahasanuzzaman , Gustavo A. Oliva , Ahmed E. Hassan

Common test generators fall into two categories. Generating test inputs at the unit level is fast, but can lead to false alarms when a function is called with inputs that would not occur in a system context. If a generated input at the…

Software Engineering · Computer Science 2019-06-05 Alexander Kampmann , Andreas Zeller

We present a method to automatically extract ("carve") parameterized unit tests from system executions. The unit tests execute the same functions as the system tests they are carved from, but can do so much faster as they call functions…

Software Engineering · Computer Science 2018-12-20 Alexander Kampmann , Andreas Zeller

Large language models (LLMs) have shown increasing competence in solving mathematical reasoning problems. However, many open-source LLMs still struggle with errors in calculation and semantic understanding during intermediate reasoning…

Computation and Language · Computer Science 2024-12-18 Vernon Y. H. Toh , Deepanway Ghosal , Soujanya Poria

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…

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…

Software Engineering · Computer Science 2024-10-29 Michael Konstantinou , Renzo Degiovanni , Mike Papadakis
‹ Prev 1 2 3 10 Next ›