What's the Problem? Interrogating Actors to Identify the Root Cause of Concurrency Bugs

Research output: Chapter in Book/Report/Conference proceedingMeeting abstract (Book)

Abstract

Programs written using Communicating Event-Loops (CEL) concurrency model do not suffer
from low-level data races by design but are not exempt from other concurrency bugs,
such as behavioral deadlocks and message order violations. When programmers need
to find the root cause of a bug, they typically ask questions about the application's
behavior. However, current debugging tools are mostly operational, offering features
at the source code level like breakpoints and watchpoints. Consequently, understanding
the program behavior when debugging can take a lot of time for developers since questions
on behaviors need to be mapped into operations in the debugger. Inspired by interrogative
debugging, this paper proposes an interactive debugging approach for actor-based programs
that enable developers to reason about the program output by selecting questions from
a set of predefined questions about the code and the program's execution. We present
the design of the questions and answers, and we describe a prototype implementation
in Apgar, an online debugger for actor-based programs written in SOMns. We define
questions based on key concepts of the actor model: actors, turns, messages, and promises.
The debugger then computes the answers by analyzing a recorded trace of events about
the program execution.
Original languageEnglish
Title of host publicationWhat's the Problem? Interrogating Actors to Identify the Root Cause of Concurrency Bugs
PublisherAssociation for Computing Machinery (ACM)
Pages24-36
Number of pages13
ISBN (Electronic)9781450391047
DOIs
Publication statusPublished - Oct 2021
EventProceedings of the 11th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control - Chicago, United States
Duration: 17 Oct 2021 → …

Workshop

WorkshopProceedings of the 11th ACM SIGPLAN International Workshop on Programming Based on Actors, Agents, and Decentralized Control
Abbreviated titleAGERE 2021
CountryUnited States
CityChicago
Period17/10/21 → …

Cite this