English
Related papers

Related papers: Implementation of Live Reverse Debugging in LLDB

200 papers

As most parallel and distributed programs are internally non-deterministic -- consecutive runs with the same input might result in a different program flow -- vanilla cyclic debugging techniques as such are useless. In order to use cyclic…

Software Engineering · Computer Science 2007-05-23 Michiel Ronsse , Koen De Bosschere , Jacques Chassin de Kergommeaux

Debugging is an essential part of software maintenance and evolution since it allows software developers to analyze program execution step by step. Understanding a program is required to fix potential flaws, alleviate bottlenecks, and…

Software Engineering · Computer Science 2024-04-22 Tim Kräuter , Harald König , Adrian Rutle , Yngve Lamo

Large language models (LLMs) are leading significant progress in code generation. Beyond one-pass code generation, recent works further integrate unit tests and program verifiers into LLMs to iteratively refine the generated programs.…

Software Engineering · Computer Science 2024-06-12 Li Zhong , Zilong Wang , Jingbo Shang

Programmers often use an iterative process of hypothesis generation ("perhaps this function is called twice?") and hypothesis testing ("let's count how many times this breakpoint fires") to understand the behavior of unfamiliar or…

Programming Languages · Computer Science 2026-04-14 Shardul Chiplunkar , Clément Pit-Claudel

Debugging is a central yet complex activity in software engineering. Prior studies have documented debugging strategies and tool usage, but little theory explains how experienced developers reason about bugs in large, real-world codebases.…

Software Engineering · Computer Science 2026-02-13 Haolin Li , Michael Coblenz

Time-traveling debuggers offer the promise of simplifying debugging by letting developers freely step forwards and backwards through a program's execution. However, web applications present multiple challenges that make time-travel…

Programming Languages · Computer Science 2018-10-30 John Vilk , Emery D. Berger , James Mickens , Mark Marron

Many studies have long investigated how developers debug, shaping our understanding of debugging and helping motivate the creation of more effective tools. However, less is known about the typical progression of debugging in real world…

Software Engineering · Computer Science 2021-05-06 Abdulaziz Alaboudi , Thomas D. LaToza

Fully autonomous teams of LLM-powered AI agents are emerging that collaborate to perform complex tasks for users. What challenges do developers face when trying to build and debug these AI agent teams? In formative interviews with five AI…

Multiagent Systems · Computer Science 2025-03-06 Will Epperson , Gagan Bansal , Victor Dibia , Adam Fourney , Jack Gerrits , Erkang Zhu , Saleema Amershi

Debuggers for logic programming languages have traditionally had a capability most other debuggers did not: the ability to jump back to a previous state of the program, effectively travelling back in time in the history of the computation.…

Programming Languages · Computer Science 2007-05-23 Zoltan Somogyi

The joint task of bug localization and program repair is an integral part of the software development process. In this work we present DeepDebug, an approach to automated debugging using large, pretrained transformers. We begin by training…

Software Engineering · Computer Science 2021-05-21 Dawn Drain , Colin B. Clement , Guillermo Serrato , Neel Sundaresan

Large language models (LLMs) have shown significant advancements in code generation, but still face challenges on tasks beyond their basic capabilities. Recently, the notion of self-debugging has been proposed to boost the performance of…

Software Engineering · Computer Science 2025-01-23 Xiancai Chen , Zhengwei Tao , Kechi Zhang , Changzhi Zhou , Wanli Gu , Yuanpeng He , Mengdi Zhang , Xunliang Cai , Haiyan Zhao , Zhi Jin

In this paper, we address the problem of manual debugging, which nowadays remains resource-intensive and in some parts archaic. This problem is especially evident in increasingly complex and distributed software systems. Therefore, our…

Software Engineering · Computer Science 2025-08-21 Dennis Schiese , Andreas Both

Designing and debugging distributed systems is notoriously difficult. The correctness of a distributed system is largely determined by its handling of failure scenarios. The sequence of events leading to a bug can be long and complex, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-15 Doug Woos , Zachary Tatlock , Michael D. Ernst , Thomas E. Anderson

Aspects of frameworks, such as inversion of control and the structure of framework applications, require developers to adjust their debugging strategies as compared to debugging sequential programs. However, the benefits and challenges of…

Software Engineering · Computer Science 2018-01-17 Zack Coker , David Gray Widder , Claire Le Goues , Christopher Bogart , Joshua Sunshine

Context: In the first part of his 2012 presentation "Inventing on Principle", Bret Victor gives a demo of a live code editor for Javascript which shows the dynamic history of values of variables in real time. This form of live programming…

Programming Languages · Computer Science 2024-03-05 Jean-Baptiste Döderlein , Riemer van Rozen , Tijs van der Storm

Software verification is a tedious process that involves the analysis of multiple failed verification attempts, and adjustments of the program or specification. This is especially the case for complex requirements, e.g., regarding security…

Researchers have developed numerous debugging approaches to help programmers in the debugging process, but these approaches are rarely used in practice. In this paper, we investigate how programmers debug their code and what researchers…

Software Engineering · Computer Science 2021-03-24 Thomas Hirsch , Birgit Hofer

This paper presents a logic based approach to debugging Java programs. In contrast with traditional debugging we propose a debugging methodology for Java programs using logical queries on individual execution states and also over the…

Programming Languages · Computer Science 2007-05-23 Hani Girgis , Bharat Jayaraman

Logging statements are essential for software debugging and maintenance. However, existing approaches to automatic logging generation rely on static analysis and produce statements in a single pass without considering runtime behavior. They…

Software Engineering · Computer Science 2026-04-01 Xin Wang , Yang Feng , Jiaoxiao Qian , Yang Zhang , Zhenhao Li , Zishuo Ding

Debugging is a critical but challenging task for programmers. This paper proposes ChatDBG, an AI-powered debugging assistant. ChatDBG integrates large language models (LLMs) to significantly enhance the capabilities and user-friendliness of…

Software Engineering · Computer Science 2025-06-23 Kyla H. Levin , Nicolas van Kempen , Emery D. Berger , Stephen N. Freund