Swarm Debug Infrastructure (SDI) is an open-source tool that collects and shares fine-grained data about developers' interactive debugging activities. It allows researchers and practitioners to visualize debugging sessions, create recommendation systems, and perform empirical studies. The study presented used SDI to collect debugging data from 10 participants debugging 3 bugs in the open source project JabRef. The results showed participants toggled between 1-2 breakpoints per task, and exhibited either a "fuzzy" or "straight" navigation pattern through method invocations. SDI provides a way to preserve and analyze human debugging knowledge.
Report
Share
Report
Share
1 of 23
Download to read offline
More Related Content
Icpc16.ppt
1. Understanding Interactive Debugging with
Swarm Debug Infrastructure
Fabio Petrillo ∗† , Zéphyrin Soh † , Foutse Khomh † , Marcelo Pimenta∗ ,
Carla Freitas∗ , Yann-Gaël Guéhéneuc †
∗ Federal University of Rio Grande do Sul, RS, Brazil
École Polytechnique de Montréal, QC, Canada
1/##
24th IEEE International Conference on Program Comprehension (ICPC’16)
2. Is debugging important?
Developers spend major part of their time analysing code by debugging
(33%) [LaToza 2010].
LaToza, T. D., & Myers, B. a. (2010). Developers ask reachability questions. 2010 ACM/IEEE 32nd
International Conference on Software Engineering, 1, 185–194.
2/37
3. if debugging is important to create knowledge about a
software project,
why is this human knowledge lost?
6. Swarm Debug Infrastructure (SDI) is an
open-source infrastructure which allows
practitioners and researchers to collect and share
fine-grained data about developers’ interactive
debugging activities.
14. RQ1: How many breakpoints does a developer toggle by
task?
● participants toggled between one or two breakpoints by task
15. RQ1: How many breakpoints does a developer toggle by
task?
● participants toggled between one or two breakpoints by task
RQ2: Do developers follow similar navigation patterns
through method invocations during debugging?
● we observed two distinct debugging navigation patterns:
● fuzzy debugging pattern (several branches)
● straight debugging pattern
20. ● an approach to collect, store and share debugging session information
● provides an infrastructure to:
○ create tools for visualizing context-aware debugging
○ create recommendation systems
○ perform empirical studies
● It is free/open source and open research data
○ https://github.com/SwarmDebugging
○ http://server.swarmdebugging.org/
Swarm Debug Infrastructure (SDI)