Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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)
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
if debugging is important to create knowledge about a
software project,
why is this human knowledge lost?
Can we collect and share
debugging session information?
Our approach
Swarm Debug
Infrastructure
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.
Infrastructure
Architecture
Metadata
Experimental
Study
Does Swarm Debug Infrastructure answer questions about
debugging behaviors?
Experiment design
● 10 participants
● Warm-up task
● 3 bug location tasks
● Open source project: JabRef 3.2
Results
RQ1: How many breakpoints does a developer toggle by
task?
● participants toggled between one or two breakpoints by task
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
Fuzzy pattern
Icpc16.ppt
Straight pattern
Icpc16.ppt
● 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)
Do you like work with
these data?
Do you like work with
these data?
Go ahead!
23/##
Thank you!
fabio@petrillo.com
Understanding Interactive Debugging with
Swarm Debug Infrastructure
24th IEEE International Conference on Program Comprehension (ICPC’16)

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?
  • 4. Can we collect and share debugging session information?
  • 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.
  • 11. Does Swarm Debug Infrastructure answer questions about debugging behaviors?
  • 12. Experiment design ● 10 participants ● Warm-up task ● 3 bug location tasks ● Open source project: JabRef 3.2
  • 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)
  • 21. Do you like work with these data?
  • 22. Do you like work with these data? Go ahead!
  • 23. 23/## Thank you! fabio@petrillo.com Understanding Interactive Debugging with Swarm Debug Infrastructure 24th IEEE International Conference on Program Comprehension (ICPC’16)