Swarm Debugging: the Collective Intelligence on Interactive Debugging
This work addresses software maintenance challenges for developers by enabling collective intelligence in debugging, though it is incremental as it builds on existing interactive debugging practices.
The paper tackled the problem of sharing debugging information among developers by introducing Swarm Debugging, which includes infrastructure for collecting data and a global view for visualizing debugging paths, and found that this approach can support debugging activities based on studies with professional developers.
One of the most important tasks in software maintenance is debugging. To start an interactive debugging session, developers usually set breakpoints in an integrated development environment and navigate through different paths in their debuggers. We started our work by asking} what debugging information is useful to share among developers and study two pieces of information: breakpoints (and their locations) and sessions (debugging paths). To answer our question, we introduce the Swarm Debugging concept to frame the sharing of debugging information, the Swarm Debugging Infrastructure (SDI) with which practitioners and researchers can collect and share data about developers' interactive debugging sessions, and the Swarm Debugging Global View (GV) to display debugging paths. Using the SDI, we conducted a large study with professional developers to understand how developers set breakpoints. Using the GV, we also analyzed professional developers in two studies and collected data about their debugging sessions. Our observations and the answers to our research questions suggest that sharing and visualizing debugging data can support debugging activities.