Saved in:
Bibliographic Details
Main Authors: Chiş, Andrei, Gîrba, Tudor, Nierstrasz, Oscar
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2409.00465
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912010344595456
author Chiş, Andrei
Gîrba, Tudor
Nierstrasz, Oscar
author_facet Chiş, Andrei
Gîrba, Tudor
Nierstrasz, Oscar
contents Debugging is hard. Interactive debuggers are mostly the same. They show you a stack, a way to sample the state of the stack, and, if the debugger is live, a way to step through execution. The standard interactive debugger for a general-purpose programming language provided by a mainstream IDE mostly offers a low-level interface in terms of generic language constructs to track down and fix bugs. A custom debugger, such as those developed for specific application domains, offers alternative interfaces more suitable to the specific execution context of the program being debugged. Custom debuggers offering contextual debugging views and actions can greatly improve our ability to reason about the current problem. Implementing such custom debuggers, however, is non-trivial, and poses a barrier to improving the debugging experience. In this paper we introduce "moldable exceptions", a lightweight mechanism to adapt a debugger's interface based on contextual information provided by a raised exception. We present, through a series of examples, how moldable exceptions can enhance a live programming environment.
format Preprint
id arxiv_https___arxiv_org_abs_2409_00465
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Moldable Exceptions
Chiş, Andrei
Gîrba, Tudor
Nierstrasz, Oscar
Software Engineering
Debugging is hard. Interactive debuggers are mostly the same. They show you a stack, a way to sample the state of the stack, and, if the debugger is live, a way to step through execution. The standard interactive debugger for a general-purpose programming language provided by a mainstream IDE mostly offers a low-level interface in terms of generic language constructs to track down and fix bugs. A custom debugger, such as those developed for specific application domains, offers alternative interfaces more suitable to the specific execution context of the program being debugged. Custom debuggers offering contextual debugging views and actions can greatly improve our ability to reason about the current problem. Implementing such custom debuggers, however, is non-trivial, and poses a barrier to improving the debugging experience. In this paper we introduce "moldable exceptions", a lightweight mechanism to adapt a debugger's interface based on contextual information provided by a raised exception. We present, through a series of examples, how moldable exceptions can enhance a live programming environment.
title Moldable Exceptions
topic Software Engineering
url https://arxiv.org/abs/2409.00465