English
Related papers

Related papers: On the Distribution of "Simple Stupid Bugs" in Uni…

200 papers

User Interfaces (UIs) intensively rely on event-driven programming: widgets send UI events, which capture users' interactions, to dedicated objects called controllers. Controllers use several UI listeners that handle these events to produce…

Software Engineering · Computer Science 2018-05-29 Arnaud Blouin , Valéria Lelli , Benoit Baudry , Fabien Coulon

Software testing plays a crucial role in the contribution process of open-source projects. For example, contributions introducing new features are expected to include tests, and contributions with tests are more likely to be accepted.…

Software Engineering · Computer Science 2026-02-04 Bruna Falcucci , Felipe Gomide , Andre Hora

With little to no parallel data available for programming languages, unsupervised methods are well-suited to source code translation. However, the majority of unsupervised machine translation approaches rely on back-translation, a method…

Software Engineering · Computer Science 2022-02-17 Baptiste Roziere , Jie M. Zhang , Francois Charton , Mark Harman , Gabriel Synnaeve , Guillaume Lample

Test smells reduce test suite reliability and complicate maintenance. While many methods detect test smells, few support automated removal, and most rely on static analysis or machine learning. This study evaluates models with relatively…

Software Engineering · Computer Science 2025-11-20 Rian Melo , Pedro Simões , Rohit Gheyi , Marcelo d'Amorim , Márcio Ribeiro , Gustavo Soares , Eduardo Almeida , Elvys Soares

Unit tests represent the most basic level of testing within the software testing lifecycle and are crucial to ensuring software correctness. Designing and creating unit tests is a costly and labor-intensive process that is ripe for…

Software Engineering · Computer Science 2025-07-31 Andrea Lops , Fedelucio Narducci , Azzurra Ragone , Michelantonio Trizio , Claudio Bartolini

Pointers are a powerful, but dangerous feature provided by the C and C++ programming languages, and incorrect use of pointers is a common source of bugs and security vulnerabilities. Making secure software is crucial, as vulnerabilities…

Formal Languages and Automata Theory · Computer Science 2024-11-01 Vlad-Alexandru Teodorescu , Dorel Lucanu

Context. Refactoring has been widely investigated in the past in relation to production code quality, yet still little is known on how developers apply refactoring on test code. Specifically, there is still a lack of investigation into how…

Software Engineering · Computer Science 2023-08-21 Luana Martins , Valeria Pontillo , Heitor Costa , Filomena Ferrucci , Fabio Palomba , Ivan Machado

While a substantial body of prior research has investigated the form and nature of production code, comparatively little attention has examined characteristics of test code, and, in particular, test smells in that code. In this paper, we…

Software Engineering · Computer Science 2021-03-30 Amjed Tahir , Steve Counsell , Stephen G. MacDonell

Modern version control systems such as Git or SVN include bug tracking mechanisms, through which developers can highlight the presence of bugs through bug reports, i.e., textual descriptions reporting the problem and what are the steps that…

Software Engineering · Computer Science 2019-07-26 Gemma Catolino , Fabio Palomba , Andy Zaidman , Filomena Ferrucci

Best testing practices state that tests should verify a single functionality or behavior of the system. Tests that verify multiple behaviors are harder to understand, lack focus, and are more coupled to the production code. An attempt to…

Software Engineering · Computer Science 2026-02-03 Andre Hora , Andy Zaidman

Fuzzing has become a popular technique for automatically detecting vulnerabilities and bugs by generating unexpected inputs. In recent years, the fuzzing process has been integrated into continuous integration workflows (i.e., continuous…

Software Engineering · Computer Science 2026-02-06 Tatsuya Shirai , Olivier Nourry , Yutaro Kashiwa , Kenji Fujiwara , Hajimu Iida

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

Background. Jupyter notebooks are one of the main tools used by data scientists. Notebooks include features (configuration scripts, markdown, images, etc.) that make them challenging to analyze compared to traditional software. As a result,…

Software Engineering · Computer Science 2025-07-28 Wenyuan Jiang , Diany Pressato , Harsh Darji , Thibaud Lutellier

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

Context: Static analyses are well-established to aid in understanding bugs or vulnerabilities during the development process or in large-scale studies. A low false-positive rate is essential for the adaption in practice and for precise…

Software Engineering · Computer Science 2024-03-13 Anna-Katharina Wickert , Michael Schlichtig , Marvin Vogel , Lukas Winter , Mira Mezini , Eric Bodden

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

Fixing bugs in large programs is a challenging task that demands substantial time and effort. Once a bug is found, it is reported to the project maintainers, who work with the reporter to fix it and eventually close the issue. However,…

Software Engineering · Computer Science 2025-10-17 Qiushi Wu , Yue Xiao , Dhilung Kirat , Kevin Eykholt , Jiyong Jang , Douglas Lee Schales

What is the impact of software engineering research on current practices in industry? In this paper, I report on my direct experience as a PhD/post-doc working in software engineering research projects, and then spending the following five…

Software Engineering · Computer Science 2019-01-15 Andrea Arcuri

Modern software systems heavily rely on third-party dependencies, making software supply chain security a critical concern. We introduce the concept of software supply chain smells as structural indicators that signal potential security…

Software Engineering · Computer Science 2026-03-31 Larissa Schmid , Diogo Gaspar , Raphina Liu , Sofia Bobadilla , Benoit Baudry , Martin Monperrus

Software is omnipresent within all factors of society. It is thus important to ensure that software are well tested to mitigate bad user experiences as well as the potential for severe financial and human losses. Software testing is however…

Software Engineering · Computer Science 2025-04-30 Jason Wang , Basem Suleiman , Muhammad Johan Alibasa