English
Related papers

Related papers: Understanding and Characterizing Mock Assertions i…

200 papers

Various proxy metrics for test quality have been defined in order to guide developers when writing tests. Code coverage is particularly well established in practice, even though the question of how coverage relates to test quality is a…

Software Engineering · Computer Science 2021-03-15 Goran Petrović , Marko Ivanković , Gordon Fraser , René Just

In oral arguments, judges probe attorneys with questions about the factual record, legal claims, and the strength of their arguments. To prepare for this questioning, both law schools and practicing attorneys rely on moot courts: practice…

Computation and Language · Computer Science 2026-03-06 Kylie Zhang , Nimra Nadeem , Lucia Zheng , Dominik Stammbach , Peter Henderson

Automated test generation (ATG), which aims to reduce the cost of manual test suite development, has been investigated for decades and has produced countless techniques based on a variety of approaches: symbolic analysis, search-based,…

Software Engineering · Computer Science 2026-05-26 Rangeet Pan , Tyler Stennett , Raju Pavuluri , Nate Levin , Alessandro Orso , Saurabh Sinha

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

Test effectiveness refers to the capability of a test suite in exposing faults in software. It is crucial to be aware of factors that influence this capability. We aim at inferring the causal relationship between the two factors (i.e.,…

Software Engineering · Computer Science 2023-03-20 Alireza Aghamohammadi , Seyed-Hassan Mirian-Hosseinabadi

Many software systems originate as prototypes or minimum viable products (MVPs), developed with an emphasis on delivery speed and responsiveness to changing requirements rather than long-term code maintainability. While effective for rapid…

Software Engineering · Computer Science 2026-04-06 Ema Smolic , Mario Brcic , Luka Hobor , Mihael Kovac

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

Generating meaningful assert statements is one of the key challenges in automated test case generation, which requires understanding the intended functionality of the tested code. Recently, deep learning-based models have shown promise in…

Software Engineering · Computer Science 2024-01-22 Yuwei Zhang , Zhi Jin , Zejun Wang , Ying Xing , Ge Li

Proponents of software verification have argued that simpler code is easier to verify: that is, that verification tools issue fewer false positives and require less human intervention when analyzing simpler code. We empirically validate…

Software Engineering · Computer Science 2023-11-01 Kobi Feldman , Martin Kellogg , Oscar Chaparro

In computer science education, test cases are an integral part of programming assignments since they can be used as assessment items to test students' programming knowledge and provide personalized feedback on student-written code. The goal…

Computation and Language · Computer Science 2024-02-13 Nischal Ashok Kumar , Andrew Lan

Contract assertions, such as preconditions, postconditions, and invariants, play a crucial role in software development, enabling applications such as program verification, test generation, and debugging. Despite their benefits, the…

Software Engineering · Computer Science 2026-04-14 Agustín Balestra , Agustín Nolasco , Facundo Molina , Diego Garbervetsky , Renzo Degiovanni , Nazareno Aguirre

An assertion is commonly used to validate the expected programs behavior (e.g., if the returned value of a method equals an expected value) in software testing. Although it is a recommended practice to use only one assertion in a single…

Software Engineering · Computer Science 2025-11-12 Md. Ashraf Uddin , Shaowei Wang , An Ran Chen , Tse-Hsun , Chen , Muhammad Asaduzzaman

Maintaining consistency between code and documentation is a crucial yet frequently overlooked aspect of software development. Even minor mismatches can confuse API users, introduce new bugs, and increase overall maintenance effort. This…

Software Engineering · Computer Science 2026-04-22 Tobias Kiecker , Jan Arne Sparka , Martin Reuter , Albert Ziegler , Lars Grunske

As new advancements in the field of quantum computing lead to the development of increasingly complex programs, approaches to validate and debug these programs are becoming more important. To this end, methods employed in classical…

Quantum Physics · Physics 2024-12-20 Damian Rovara , Lukas Burgholzer , Robert Wille

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

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 focus on exploiting a specification and the structures that satisfy it, to obtain a means of comparing implemented and expected behaviours and find the origin of faults in implementations. We present an approach to the…

Software Engineering · Computer Science 2013-03-06 Isabel Nunes , Filipe Luís

Context: Static Application Security Testing Tools (SASTTs) identify software vulnerabilities to support the security and reliability of software applications. Interestingly, several studies have suggested that alternative solutions may be…

Software Engineering · Computer Science 2024-03-15 Matteo Esposito , Valentina Falaschi , Davide Falessi

Critical embedded systems (CES) have become ubiquitous in whether medical, automotive, or industrial. Software failures in such systems are potentially disastrous and could lead to serious consequences not only financially but also…

Software Engineering · Computer Science 2022-08-11 Hafsa Cheddadi , Saad Motahhir , Abdelaziz El Ghzizal

Reasoning about safety, security, and other dependability attributes of autonomous systems is a challenge that needs to be addressed before the adoption of such systems in day-to-day life. Formal methods is a class of methods that…

Artificial Intelligence · Computer Science 2023-11-17 Ashfaq Farooqui , Behrooz Sangchoolie