English
Related papers

Related papers: Understanding Flaky Tests: The Developer's Perspec…

200 papers

Regression testing is an important phase to deliver software with quality. However, flaky tests hamper the evaluation of test results and can increase costs. This is because a flaky test may pass or fail non-deterministically and to…

Software Engineering · Computer Science 2021-09-15 B. H. P. Camara , M. A. G. Silva , A. T. Endo , S. R. Vergilio

The continuous delivery of modern software requires the execution of many automated pipeline jobs. These jobs ensure the frequent release of new software versions while detecting code problems at an early stage. For TELUS, our industrial…

Software Engineering · Computer Science 2025-08-26 Henri Aïdasso , Francis Bordeleau , Ali Tizghadam

Flakiness is a major concern in Software testing. Flaky tests pass and fail for the same version of a program and mislead developers who spend time and resources investigating test failures only to discover that they are false alerts. In…

Software Engineering · Computer Science 2021-11-08 Guillaume Haben , Sarra Habchi , Mike Papadakis , Maxime Cordy , Yves Le Traon

Software developers attempt to reproduce software bugs to understand their erroneous behaviours and to fix them. Unfortunately, they often fail to reproduce (or fix) them, which leads to faulty, unreliable software systems. However, to…

Software Engineering · Computer Science 2021-08-12 Mohammad Masudur Rahman , Foutse Khomh , Marco Castelluccio

Fault-proneness is an indication of programming errors that decreases software quality and maintainability. On the contrary, code smell is a symptom of potential design problems which has impact on fault-proneness. In the literature,…

Software Engineering · Computer Science 2023-05-10 Md. Masudur Rahman , Toukir Ahammed , Md. Mahbubul Alam Joarder , Kazi Sakib

Having similar code fragments, also called clones, in software systems can lead to unnecessary comprehension, review and change efforts. Syntactically similar clones can often be encountered in practice. The same is not clear for only…

Software Engineering · Computer Science 2018-05-23 Verena Käfer , Stefan Wagner , Rainer Koschke

As software systems continue to grow in complexity, testing has become a fundamental part of ensuring the quality and reliability of software products. Yet, software testing is still often perceived, both in industry and academia, as a…

Software Engineering · Computer Science 2025-07-29 Davi Gama Hardman , Cesar França , Brody Stuart-Verner , Ronnie de Souza Santos

Continuous Integration (CI) is widely used to provide rapid feedback on code changes; however, CI build outcomes are not always reliable. Builds may fail intermittently due to non-deterministic factors, leading to flaky builds that…

Software Engineering · Computer Science 2026-02-03 Wenhao Ge , Chen Zhang

Context: Software development projects increasingly adopt unit testing as a way to identify and correct program faults early in the construction process. Code that is unit tested should therefore have fewer failures associated with it.…

Software Engineering · Computer Science 2023-12-05 Efstathia Chioteli , Ioannis Batas , Diomidis Spinellis

Code cloning is not only assumed to inflate maintenance costs but also considered defect-prone as inconsistent changes to code duplicates can lead to unexpected behavior. Consequently, the identification of duplicated code, clone detection,…

Software Engineering · Computer Science 2017-11-15 Elmar Juergens , Florian Deissenboeck , Benjamin Hummel , Stefan Wagner

The pivotal role of testing in high-quality software production has driven a significant effort in evaluating and assessing testing practices. We explore the state of testing in a large industrial project over an extended period. We study…

Software Engineering · Computer Science 2019-08-06 Mohammad Ghafari , Markus Eggiman , Oscar Nierstrasz

The test failure causes analysis is critical since it determines the subsequent way of handling different types of bugs, which is the prerequisite to get the bugs properly analyzed and fixed. After a test case fails, software testers have…

Software Engineering · Computer Science 2024-05-07 Zhipeng Gao , Zhipeng Xue , Xing Hu , Weiyi Shang , Xin Xia

Background: Noise, defined as an unwanted sound, is one of the commonest factors that could affect people's performance in their daily work activities. The software engineering research community has marginally investigated the effects of…

Software Engineering · Computer Science 2018-07-12 Simone Romano , Giuseppe Scanniello , Davide Fucci , Natalia Juristo , Burak Turhan

Field failures, that is, failures caused by faults that escape the testing phase leading to failures in the field, are unavoidable. Improving verification and validation activities before deployment can identify and timely remove many but…

Software Engineering · Computer Science 2017-09-01 Luca Gazzola , Leonardo Mariani , Fabrizio Pastore , Mauro Pezz`e

Developing test code may be a time-consuming task that usually requires much effort and cost, especially when it is done manually. Besides, during this process, developers and testers are likely to adopt bad design choices, which may lead…

Software Engineering · Computer Science 2020-03-13 Nildo Silva Junior , Larissa Rocha , Luana Almeida Martins , Ivan Machado

This paper presents the results of a research study related to software system failures, with the goal of understanding how we might better evolve, maintain and support software systems in production. We have qualitatively analyzed thirty…

Software Engineering · Computer Science 2020-08-26 Jonathan Sillito , Esdras Kutomi

Fuzz testing has enjoyed great success at discovering security critical bugs in real software. Recently, researchers have devoted significant effort to devising new fuzzing techniques, strategies, and algorithms. Such new ideas are…

Cryptography and Security · Computer Science 2018-10-22 George Klees , Andrew Ruef , Benji Cooper , Shiyi Wei , Michael Hicks

Software is used in critical applications in our day-to-day life and it is important to ensure its correctness. One popular approach to assess correctness is to evaluate software on tests. If a test fails, it indicates a fault in the…

Software Engineering · Computer Science 2025-04-01 Max Hort , Leon Moonen

Failure studies are important in revealing the root causes, behaviors, and life cycle of defects in software systems. These studies either focus on understanding the characteristics of defects in specific classes of systems or the…

Software Engineering · Computer Science 2022-09-23 Paschal C. Amusuo , Aishwarya Sharma , Siddharth R. Rao , Abbey Vincent , James C. Davis

Context: Scientific software plays an important role in critical decision making, for example making weather predictions based on climate models, and computation of evidence for research publications. Recently, scientists have had to…

Software Engineering · Computer Science 2018-04-06 Upulee Kanewala , James M. Bieman