English
Related papers

Related papers: An Empirical Study of Flaky Tests in JavaScript

200 papers

Understanding the root cause of a defect is critical to isolating and repairing buggy behavior. We present Causal Testing, a new method of root-cause analysis that relies on the theory of counterfactual causality to identify a set of…

Software Engineering · Computer Science 2020-02-20 Brittany Johnson , Yuriy Brun , Alexandra Meliou

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

To ensure the quality of a software system, developers perform an activity known as unit testing, where they write code (known as test cases) that verifies the individual software units that make up the system. Like production code, test…

Software Engineering · Computer Science 2023-03-09 Wajdi Aljedaani , Mohamed Wiem Mkaouer , Anthony Peruma , Stephanie Ludi

Context: Selenium is claimed to be the most popular software test automation tool. Past academic works have mainly neglected testing tools in favor of more methodological topics. Objective: We investigated the performance of web-testing…

Software Engineering · Computer Science 2016-11-03 Miikka Kuutila , Mika Mäntylä , Päivi Raulamo-Jurvanen

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

Block-based programming environments like Scratch are widely used in introductory programming courses. They facilitate learning pivotal programming concepts by eliminating syntactical errors, but logical errors that break the desired…

Software Engineering · Computer Science 2024-10-14 Patric Feldmeier , Gordon Fraser , Ute Heuer , Florian Obermüller , Siegfried Steckenbiller

Current critical systems commonly use a lot of floating-point computations, and thus the testing or static analysis of programs containing floating-point operators has become a priority. However, correctly defining the semantics of common…

Programming Languages · Computer Science 2025-10-20 David Monniaux

Performance is a critical quality attribute in software development, yet the impact of method-level code changes on performance evolution remains poorly understood. While developers often make intuitive assumptions about which types of…

Software Engineering · Computer Science 2025-08-12 Kaveh Shahedi , Nana Gyambrah , Heng Li , Maxime Lamothe , Foutse Khomh

TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption…

Software Engineering · Computer Science 2023-03-20 Joshua D. Scarsbrook , Mark Utting , Ryan K. L. Ko

Despite its massive popularity as a programming language, especially in novel domains like data science programs, there is comparatively little research about fault localization that targets Python. Even though it is plausible that several…

Software Engineering · Computer Science 2024-10-03 Mohammad Rezaalipour , Carlo A. Furia

Writing logging messages is a well-established conventional programming practice, and it is of vital importance for a wide variety of software development activities. The logging mechanism in Solidity programming is enabled by the…

Software Engineering · Computer Science 2023-08-25 Lantian Li , Yejian Liang , Zhihao Liu , Zhongxing Yu

Change-based testing is a key component of continuous integration at Facebook. However, a large number of tests coupled with a high rate of changes committed to our monolithic repository make it infeasible to run all potentially-impacted…

Software Engineering · Computer Science 2019-05-31 Mateusz Machalica , Alex Samylkin , Meredith Porth , Satish Chandra

Software measurement is an essential management tool to develop robust and maintainable software systems. Software metrics can be used to control the inherent complexities in software design. To guarantee that the components of the software…

Software Engineering · Computer Science 2022-01-26 Mamdouh Alenezi

Latency and cost of Internet-based services are encouraging the use of application-level caching to continue satisfying users' demands, and improve the scalability and availability of origin servers. Despite its popularity, this level of…

Software Engineering · Computer Science 2020-11-03 Jhonny Mertz , Ingrid Nunes

Cognitive biases appear during code review. They significantly impact the creation of feedback and how it is interpreted by developers. These biases can lead to illogical reasoning and decision-making, violating one of the main hypotheses…

Software Engineering · Computer Science 2024-07-02 Tobias Jetzen , Xavier Devroey , Nicolas Matton , Benoît Vanderose

Background: Research software plays an important role in solving real-life problems, empowering scientific innovations, and handling emergency situations. Therefore, the correctness and trustworthiness of research software are of absolute…

Software Engineering · Computer Science 2022-07-27 Nasir U. Eisty , Jeffrey C. Carver

This paper reports an empirical study on refactoring activity in three Java software systems. We investigated some questions on refactoring activity, to confirm or disagree on conclusions that have been drawn from previous empirical…

Researchers have developed various techniques for static analysis of JavaScript to improve analysis precision. To develop such techniques, they first identify causes of the precision losses for unproven properties. While most of the…

Programming Languages · Computer Science 2019-09-30 Hongki Lee , Changhee Park , Sukyoung Ryu

Successful HPC software applications are long-lived. When ported across machines and their compilers, these applications often produce different numerical results, many of which are unacceptable. Such variability is also a concern while…

Software Engineering · Computer Science 2019-06-26 Michael Bentley , Ian Briggs , Ganesh Gopalakrishnan , Dong H. Ahn , Ignacio Laguna , Gregory L. Lee , Holger E. Jones

Code smells are widely used indicators of poor code quality, revealing structural problems and areas where improvement can be made. Although extensively studied in object-oriented languages, functional programming languages remain…

Software Engineering · Computer Science 2026-05-26 Walber Araújo , José Truta , Lucas Vegi , Marco Tulio Valente , João Brunet