EDBT 2026 Demo / reviewers in the wild / expert
Abdulaziz Alaboudi
dblp:241/9316
· DBLP profile ↗
6ranked-venue papers
6as first author
3since 2021 · last 2023
0000-0001-9242-748XORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 5 · 5 first-author · 2 since 2021Software engineering, systems software and programming languages · 1 · 1 first-author · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Debugging and program repair · 87% Empirical software engineering · 13% |
Topics — the 3 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair
debugging tools |
0.7 | 1 | 2023 | Hypothesizer: A Hypothesis-Based Debugger to Find and Test Debugging Hypotheses · UIST 2023 |
Debugging and program repair
fault localization |
0.7 | 1 | 2023 | Hypothesizer: A Hypothesis-Based Debugger to Find and Test Debugging Hypotheses · UIST 2023 |
Empirical software engineering
developer studies |
0.2 | 1 | 2023 | Hypothesizer: A Hypothesis-Based Debugger to Find and Test Debugging Hypotheses · UIST 2023 |
Methods — techniques the papers use, named apart from their topics
randomized controlled experiment · 0.7
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Hypothesizer: A Hypothesis-Based Debugger to Find and Test Debugging HypothesesabstractWhen software defects occur, developers begin the debugging process by formulating hypotheses to explain the cause. These hypotheses guide the investigation process, determining which evidence developers gather to accept or reject the hypothesis, such as parts of the code and program state developers examine. However, existing debugging techniques do not offer support in finding relevant hypotheses, leading to wasted time testing hypotheses and examining code that ultimately does not lead to a fix. To address this issue, we introduce a new type of debugging tool, the hypothesis-based debugger, and an implementation of this tool in Hypothesizer. Hypothesis-based debuggers support developers from the beginning of the debugging process by finding relevant hypotheses until the defect is fixed. To debug using Hypothesizer, developers first demonstrate the defect, generating a recording of the program behavior with code execution, user interface events, network communications, and user interface changes. Based on this information and the developer’s descriptions of the symptoms, Hypothesizer finds relevant hypotheses, analyzes the code to identify relevant evidence to test the hypothesis, and generates an investigation plan through a timeline view. This summarizes all evidence items related to the hypothesis, indicates whether the hypothesis is likely to be true by showing which evidence items were confirmed in the recording, and enables the developer to quickly check evidence in the recording by viewing code snippets for each evidence item. A randomized controlled experiment with 16 professional developers found that, compared to traditional debugging tools and techniques such as breakpoint debuggers and Stack Overflow, Hypothesizer dramatically improved the success rate of fixing defects by a factor of five and decreased the time to debug by a factor of three. Abdulaziz Alaboudi, Thomas D. LaToza |
UIST | 1 |
| 2023 | What constitutes debugging? An exploratory study of debugging episodes
Abdulaziz Alaboudi, Thomas D. LaToza |
Empir. Softw. Eng. | 1 |
| 2021 | Edit - Run Behavior in Programming and DebuggingabstractAs 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 edit-run cycles themselves. To bridge this gap, we analyzed 28 hours of programming and debugging work from 11 professional developers which encompassed over three thousand development activities. We mapped activities to edit or run steps, constructing 581 debugging and 207 programming edit-run cycles. We found that edit-run cycles are frequent. Developers edit and run the program, on average, 7 times before fixing a defect and twice before introducing a defect. Developers waited longer before again running the program when programming than debugging, with a mean cycle length of 3 minutes for programming and 1 minute for debugging. Most cycles involved an edit to a single file after which a developer ran the program to observe the impact on the final output. Edit-run cycles which included activities beyond edit and run, such as navigating between files, consulting resources, or interacting with other IDE features, were much longer, with a mean length of 5 minutes, rather than 1.5 minutes. We conclude with a discussion of design recommendations for tools to enable more fluidity in edit-run cycles. Abdulaziz Alaboudi, Thomas D. LaToza |
VL/HCC | 1 |
| 2020 | Helping Developers Find and Share Debugging HypothesesabstractDebugging remains one of the most challenging activities for developers. This has motivated the invention of numerous debugging tools, which help developers inspect program states through logging and breakpoints or attempt to localize defects through automated or interactive program analysis techniques. Abdulaziz Alaboudi |
VL/HCC | 1 |
| 2020 | Using Hypotheses as a Debugging AidabstractAs developers debug, developers formulate hypotheses about the cause of the defect and gather evidence to test these hypotheses. To better understand the role of hypotheses in debugging, we conducted two studies. In a preliminary study, we found that, even with the benefit of modern internet resources, incorrect hypotheses can cause developers to investigate irrelevant information and block progress. We then conducted a controlled experiment where 20 developers debugged and recorded their hypotheses. We found that developers have few hypotheses, two per defect. Having a correct hypothesis early strongly predicted later success. We also studied the impact of two debugging aids: fault locations and potential hypotheses. Offering fault locations did not help developers formulate more correct hypotheses or debug more successfully. In contrast, offering potential hypotheses made developers six times more likely to succeed. These results demonstrate the potential of future debugging tools that enable finding and sharing relevant hypotheses. Abdulaziz Alaboudi, Thomas D. LaToza |
VL/HCC | 1 |
| 2019 | An Exploratory Study of Live-Streamed ProgrammingabstractIn live-streamed programming, developers broadcast their development work on open source projects using streaming media such as YouTube or Twitch. Sessions are first announced by a developer acting as the streamer, inviting other developers to join and interact as watchers using chat. To better understand the characteristics, motivations, and challenges in live-streamed programming, we analyzed 20 hours of live-streamed programming videos and surveyed 7 streamers about their experiences. The results reveal that live-streamed programming shares some of the characteristics and benefits of pair programming, but differs in the nature of the relationship between the streamer and watchers. We also found that streamers are motivated by knowledge sharing, socializing, and building an online identity, but face challenges with tool limitations and maintaining engagement with watchers. We discuss the implications of these findings, identify limitations with current tools, and propose design recommendations for new forms of tools to better supporting live-streamed programming. Abdulaziz Alaboudi, Thomas D. LaToza |
VL/HCC | 1 |