English
Related papers

Related papers: Understanding Differences among Executions with Va…

200 papers

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

A recurring problem in software development is incorrect decision making on the techniques, methods and tools to be used. Mostly, these decisions are based on developers' perceptions about them. A factor influencing people's perceptions is…

Software Engineering · Computer Science 2024-02-13 Sira Vegas , Patricia Riofrio , Esperanza Marcos , Natalia Juristo

Fixing a software error requires understanding its root cause. In this paper, we introduce ''causality traces'', crafted execution traces augmented with the information needed to reconstruct the causal chain from the root cause of a bug to…

Software Engineering · Computer Science 2021-08-18 Benoit Cornu , Earl T. Barr , Lionel Seinturier , Martin Monperrus

Complex software systems evolve frequently, e.g., when introducing new features or fixing bugs during maintenance. However, understanding the impact of such changes on system behavior is often difficult. Many approaches have thus been…

Software Engineering · Computer Science 2020-01-09 Thomas Krismayer , Michael Vierhauser , Rick Rabiser , Paul Grünbacher

Flaky tests (tests with non-deterministic outcomes) can be problematic for testing efficiency and software reliability. Flaky tests in test suites can also significantly delay software releases. There have been several studies that attempt…

Software Engineering · Computer Science 2022-07-05 Negar Hashemi , Amjed Tahir , Shawn Rasheed

Reasoning over heterogeneous artifacts (PDFs, spreadsheets, slide decks, etc.) increasingly occurs within structured agent workflows that iteratively extract, transform, and reference external information. In these workflows, uncertainty is…

Artificial Intelligence · Computer Science 2026-05-01 Anna Mazhar , Huzaifa Suri , Sainyam Galhotra

Developing and maintaining CLP programs requires visualization and explanation tools. However, existing tools are built in an ad hoc way. Therefore porting tools from one platform to another is very difficult. We have shown in previous work…

Programming Languages · Computer Science 2007-05-23 Ludovic Langevine , Pierre Deransart , Mireille Ducasse , Erwan Jahier

Advances in incremental Datalog evaluation strategies have made Datalog popular among use cases with constantly evolving inputs such as static analysis in continuous integration and deployment pipelines. As a result, new logic programming…

Logic in Computer Science · Computer Science 2025-04-30 David Zhao , Pavle Subotic , Mukund Raghothaman , Bernhard Scholz

Message-passing concurrency is a popular computation model that underlies several programming languages like, e.g., Erlang, Akka, and (to some extent) Go and Rust. In particular, we consider a message-passing concurrent language with…

Programming Languages · Computer Science 2022-10-07 Germán Vidal

In large-scale software systems, there are often no fully-fledged bug reports with human-written descriptions when an error occurs. In this case, developers rely on stack traces, i.e., series of function calls that led to the error. Since…

Software Engineering · Computer Science 2024-12-20 Egor Shibaev , Denis Sushentsev , Yaroslav Golubev , Aleksandr Khvorov

Understanding how software defects manifest and evolve in production environments is critical for improving reliability. While previous research has largely focused on pre-release defects, the nature of residual faults, i.e., those escaping…

Software Engineering · Computer Science 2026-04-30 Domenico Cotroneo , Giuseppe De Rosa , Cristina Improta , Benedetta Gaia Varriale

Multi-threaded programs are expected to improve responsiveness and conserve resources by dividing an application process into multiple threads for concurrent processing. However, due to scheduling and the interaction of multiple threads,…

Software Engineering · Computer Science 2024-09-26 Takumi Murata , Hiroaki Hashiura

Understanding the run-time behavior of concurrent programs is a challenging task. A popular approach is to establish a happens- before relation via vector clocks. Thus, we can identify bugs and per- formance bottlenecks, for example, by…

Programming Languages · Computer Science 2018-07-23 Martin Sulzmann , Kai Stadtmueller

One of the major challenges for evaluating the effectiveness of data visualizations and visual analytics tools arises from the fact that different users may be using these tools for different tasks. In this paper, we present a simple…

Human-Computer Interaction · Computer Science 2020-10-01 Laura Matzen , Kristin Divis , Deborah Cronin , Michael Haass

Differential testing is a highly effective technique for automatically detecting software bugs and vulnerabilities when the specifications involve an analysis over multiple executions simultaneously. Differential fuzzing, in particular,…

Software Engineering · Computer Science 2025-11-06 Rafael Baez , Alejandro Olivas , Nathan K. Diamond , Marcelo Frias , Yannic Noller , Saeid Tizpaz-Niari

Software engineers have a wide variety of tools and techniques that can help them improve the quality of their code, but still, a lot of bugs remain undetected. In this paper we build on the idea that if a particular fragment of code is…

Software Engineering · Computer Science 2020-04-06 Sergey Svitkov , Timofey Bryksin

Differential performance debugging is a technique to find performance problems. It applies in situations where the performance of a program is (unexpectedly) different for different classes of inputs. The task is to explain the differences…

Artificial Intelligence · Computer Science 2017-11-29 Saeid Tizpaz-Niari , Pavol Cerny , Bor-Yuh Evan Chang , Ashutosh Trivedi

As developers program and debug, they continuously edit and run their code, a behavior known as edit-run cycles. While techniques such as live programming are intended to support this behavior, little is known about the characteristics of…

Software Engineering · Computer Science 2021-09-08 Abdulaziz Alaboudi , Thomas D. LaToza

Execution of concurrent programs implies frequent switching between different thread contexts. This property perplexes analyzing and reasoning about concurrent programs. Trace simplification is a technique that aims at alleviating this…

Software Engineering · Computer Science 2014-05-20 Mohamed A. El-Zawawy , Mohammad N. Alanazi

Runtime Verification (RV) refers to a family of techniques in which system executions are observed and confronted to formal specifications, with the aim of identifying faults. In Offline RV, observation is done in a first step and…

Formal Languages and Automata Theory · Computer Science 2024-03-06 Erwan Mahe , Boutheina Bannour , Christophe Gaston , Pascale Le Gall