English
Related papers

Related papers: A Graphical Interactive Debugger for Distributed S…

200 papers

Deep learning model design, development, and debugging is a process driven by best practices, guidelines, trial-and-error, and the personal experiences of model developers. At multiple stages of this process, performance and internal model…

Human-Computer Interaction · Computer Science 2024-07-26 Thilo Spinner , Daniel Fürst , Mennatallah El-Assady

Distributed systems are comprised of many components that communicate together to form an application. Distributed tracing gives us visibility into these complex interactions, but it can be difficult to reason about the system's behavior,…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-12-11 Adrita Samanta , Henry Han , Darby Huye , Lan Liu , Zhaoqi Zhang , Raja R. Sambasivan

As applications get developed, bugs inevitably get introduced. Often, it is unclear why a given code change introduced a given bug. To find this causal relation and more effectively debug, developers can leverage the existence of a previous…

Programming Languages · Computer Science 2021-04-13 Thomas Dupriez , Steven Costiou , Stéphane Ducasse

We make another assault on the longstanding problem of debugging. After exploring why debuggers are not used as widely as one might expect, especially in functional programming environments, we define the characteristics of a debugger which…

Programming Languages · Computer Science 2019-05-17 John Whitington , Tom Ridge

We present an approach for verifying systems at runtime. Our approach targets distributed systems whose components communicate with monitors over unreliable channels, where messages can be delayed, reordered, or even lost. Furthermore, our…

Logic in Computer Science · Computer Science 2019-09-26 David Basin , Felix Klaedtke , Eugen Zalinescu

Reversible debuggers have been developed at least since 1970. Such a feature is useful when the cause of a bug is close in time to the bug manifestation. When the cause is far back in time, one resorts to setting appropriate breakpoints in…

Software Engineering · Computer Science 2012-12-21 Kapil Arya , Tyler Denniston , Ana-Maria Visan , Gene Cooperman

Due to the increased complexity of parallel and distributed programs, debugging of them is considered to be the most difficult and time consuming part of the software lifecycle. Tool support is hence a crucial necessity to hide complexity…

Software Engineering · Computer Science 2007-05-23 Ch. Schaubschlaeger , D. Kranzlmueller , J. Volkert

Program errors are hard to find because of the cause-effect gap between the time when an error occurs and the time when the error becomes apparent to the programmer. Although debugging techniques such as conditional and data breakpoints…

Software Engineering · Computer Science 2007-05-23 Raimondas Lencevicius

Anomaly detection is a crucial task in complex distributed systems. A thorough understanding of the requirements and challenges of anomaly detection is pivotal to the security of such systems, especially for real-world deployment. While…

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

The increasing complexity of the software/hardware stack of modern supercomputers results in explosion of parameters. The performance analysis becomes a truly experimental science, even more challenging in the presence of massive…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-27 Jesun Sahariar Firoz , Thejaka Amila Kanewala , Marcin Zalewski , Martina Barnas , Andrew Lumsdaine

Determining whether a configurable software system has a performance bug or it was misconfigured is often challenging. While there are numerous debugging techniques that can support developers in this task, there is limited empirical…

Software Engineering · Computer Science 2022-03-22 Miguel Velez , Pooyan Jamshidi , Norbert Siegmund , Sven Apel , Christian Kästner

In software development, encountering bugs is inevitable. However, opportunities to learn more about bug removal are limited. When students perform debugging tasks, they often use print statements because students do not know how to use a…

Software Engineering · Computer Science 2024-07-26 Aoi Kanaya , Takuma Migo , Hiroaki Hashiura

Background: Performance bugs can lead to severe issues regarding computation efficiency, power consumption, and user experience. Locating these bugs is a difficult task because developers have to judge for every costly operation whether…

Software Engineering · Computer Science 2017-07-03 Sebastian Baltes , Oliver Moseler , Fabian Beck , Stephan Diehl

Interactive program verification is characterized by iterations of unfinished proof attempts. To support the process of constructing a complete proof, many interactive program verification systems offer a proof scripting language as a…

Logic in Computer Science · Computer Science 2018-04-13 Bernhard Beckert , Sarah Grebing , and Alexander Weigl

Debugging denotes the process of detecting root causes of unexpected observable behaviors in programs, such as a program crash, an unexpected output value being produced or an assertion violation. Debugging of program errors is a difficult…

Software Engineering · Computer Science 2016-11-15 Partha Pratim Ray , Ansuman Banerjee

Debuggers are a popular reverse engineering and tampering tool. Self-debugging is an effective technique for applications to defend themselves against hostile debuggers. In penetration tests on state-of-the-art self-debugging, we observed…

Cryptography and Security · Computer Science 2020-11-02 Bert Abrath , Bart Coppens , Ilja Nevolin , Bjorn De Sutter

Causality in distributed systems is a concept that has long been explored and numerous approaches have been made to use causality as a way to trace distributed system execution. Traditional approaches usually used system profiling and newer…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-11-14 Ishaan Lagwankar , Kanishka Wijewardena

Understanding fault types can lead to novel approaches to debugging and runtime verification. Dealing with complex faults, particularly in the challenging area of embedded systems, craves for more powerful tools, which are now becoming…

Software Engineering · Computer Science 2021-02-09 Alexander Weiss , Smitha Gautham , Athira Varma Jayakumar , Carl Elks , D. Richard Kuhn , Raghu N. Kacker , Thomas B. Preusser

As Deep Learning (DL) is continuously adopted in many safety critical applications, its quality and reliability start to raise concerns. Similar to the traditional software development process, testing the DL software to uncover its defects…

Software Engineering · Computer Science 2021-05-07 David Berend