  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.
