English
Related papers

Related papers: Execution replay and debugging

200 papers

One typical use case of large-scale distributed computing in data centers is to decompose a computation job into many independent tasks and run them in parallel on different machines, sometimes known as the "embarrassingly parallel"…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-04-07 Da Wang , Gauri Joshi , Gregory Wornell

After all these years and all these other shared memory programming frameworks, OpenMP is still the most popular one. However, its greater levels of non-deterministic execution makes debugging and testing more challenging. The ability to…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-19 Xiang Fu , Shiman Meng , Weiping Zhang , Luanzheng Guo , Kento Sato , Dong H. Ahn , Ignacio Laguna , Gregory L. Lee , Martin Schulz

We describe a novel approach for adapting an existing software model checker to perform precise runtime verification. The software under test is allowed to communicate with the wider environment (including the file system and network). The…

Software Engineering · Computer Science 2018-06-01 Katarína Kejstová , Petr Ročkai , Jiří Barnat

This paper describes what it means for a kernel to be debuggable and proposes a kernel design with debuggability in mind. We evaluate the proposed kernel design by comparing the iterations required in cyclic debugging for different classes…

Operating Systems · Computer Science 2023-10-10 Chandrika Parimoo , Ashish Gupta

Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also…

Programming Languages · Computer Science 2023-03-28 David Chiang , Colin McDonald , Chung-chieh Shan

With concurrency being integral to most software systems, developers combine high-level concurrency models in the same application to tackle each problem with appropriate abstractions. While languages and libraries offer a wide range of…

Programming Languages · Computer Science 2021-03-02 Dominik Aumayr , Stefan Marr , Sophie Kaleba , Elisa Gonzalez Boix , Hanspeter Mössenböck

GUI is a bridge connecting user and application. Existing GUI testing tasks can be categorized into two groups: functionality testing and compatibility testing. While the functionality testing focuses on detecting application runtime bugs,…

Software Engineering · Computer Science 2022-12-29 Jiaming Ye , Mulong Xie , Siyuan Chen , Fuyuan Zhang , Lei Ma , Zhenchang Xing , Jianjun Zhao

In this paper, we propose a novel approach that aims to offer an alternative to the prevalent paradigm to dynamic slicing construction. Dynamic slicing requires dynamic data and control dependencies that arise in an execution. During a…

Software Engineering · Computer Science 2022-11-10 Ivan Postolski , Victor Braberman , Diego Garbervetsky , Sebastian Uchitel

Preserving invariants while designing distributed applications under weak consistency models is difficult. The CEC (Correct Eventual Consistency Tool) is meant to aid the application designer in this task. It provides information about the…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-18 Sreeja Nair , Marc Shapiro

Because query execution is the most crucial part of Inductive Logic Programming (ILP) algorithms, a lot of effort is invested in developing faster execution mechanisms. These execution mechanisms typically have a low-level implementation,…

Programming Languages · Computer Science 2007-05-23 Remko Troncon , Gerda Janssens

Multiverse analysis, a paradigm for statistical analysis that considers all combinations of reasonable analysis choices in parallel, promises to improve transparency and reproducibility. Although recent tools help analysts specify…

Human-Computer Interaction · Computer Science 2023-06-06 Ken Gu , Eunice Jun , Tim Althoff

Symbolic Execution is a formal method that can be used to verify the behavior of computer programs and detect software vulnerabilities. Compared to other testing methods such as fuzzing, Symbolic Execution has the advantage of providing…

Cryptography and Security · Computer Science 2025-09-29 Christopher Scherb , Luc Bryan Heitz , Hermann Grieder , Olivier Mattmann

By recording every state change in the run of a program, it is possible to present the programmer every bit of information that might be desired. Essentially, it becomes possible to debug the program by going ``backwards in time,'' vastly…

Software Engineering · Computer Science 2009-09-29 Bil Lewis

Quantum computers are becoming more mainstream. As more programmers are starting to look at writing quantum programs, they face an inevitable task of debugging their code. How should the programs for quantum computers be debugged? In this…

Software Engineering · Computer Science 2020-02-03 Andriy Miranskyy , Lei Zhang , Javad Doliskani

There are billions of lines of sequential code inside nowadays' software which do not benefit from the parallelism available in modern multicore architectures. Automatically parallelizing sequential code, to promote an efficient use of the…

Programming Languages · Computer Science 2016-04-13 Alcides Fonseca , Bruno Cabral , João Rafael , Ivo Correia

Debugging lazy functional programs poses serious challenges. In support of the "stop, examine, and resume" debugging style of imperative languages, some debugging tools abandon lazy evaluation. Other debuggers preserve laziness but present…

Programming Languages · Computer Science 2011-08-25 Stephen Chang , John Clements , Eli Barzilay , Matthias Felleisen

The evolution of distributed architectures and programming paradigms for performance-oriented program development, challenge the state-of-the-art technology for performance tools. The area of high performance computing is rapidly expanding…

Distributed, Parallel, and Cluster Computing · Computer Science 2010-06-15 Ajanta De Sarkar , Nandini Mukherjee

Parallel dataflow systems are a central part of most analytic pipelines for big data. The iterative nature of many analysis and machine learning algorithms, however, is still a challenge for current systems. While certain types of bulk…

Databases · Computer Science 2012-08-02 Stephan Ewen , Kostas Tzoumas , Moritz Kaufmann , Volker Markl

In previous work, we presented a symbolic execution method which starts with a concrete model of the program but progressively abstracts away details only when these are known to be irrelevant using interpolation. In this paper, we extend…

Programming Languages · Computer Science 2011-03-11 Joxan Jaffar , Jorge A. Navas , Andrew E. Santosa

Motivated by experience in programming and in the teaching of programming, we make another assault on the longstanding problem of debugging. Having explored why debuggers are not used as widely as one might expect, especially in functional…

Programming Languages · Computer Science 2024-11-04 John Whitington