SlideShare a Scribd company logo
1 of 39
Download to read offline
Towards Understanding
Interactive Debugging
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
IEEE International Conference on Software Quality, Reliability and Security (QRS’2016)
Is debugging important?
2
Is debugging important?
Developers spend over two-thirds of their time (68%) investigating
code, and the majority of this time is spent debugging
code (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.
3
During debugging, a lonely developer
navigates the source code
steps into many statements
traverses dozens of method invocations
gains understanding about the system.
4
if interactive debugging is important to create
knowledge about a software project,
why is this human knowledge lost?
5
Can we collect and share
debugging session information?
6
Our approach
Swarm Debugging
7
8
9
Our implementation
Swarm Debug
Infrastructure
10
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
Infrastructure
12
Architecture
13
Metadata
14
15
16
17
18
Experimental
Study
19
Experiment design
● 5 professional freelancers and 2 students
● Warm-up task
● 5 bug location tasks
● Open source project: JabRef 3.2
● 19 bug location sessions
● about 6 hours of effective of video recording
● 110 breakpoints and ~ 7000 invocations
20
Results
3 RQs
21
RQ1: Is there a correlation between the numbers of
invocations or toggled breakpoints and tasks’ elapsed
time?
22
23
RQ1: Is there a correlation between the numbers of
invocations or toggled breakpoints and tasks’ elapsed
time?
There is no correlation(ρ = −0.039, 0.093) between
the number of invocations(respectively the number
of breakpointstoggled) during a debugging session
and the spent time on the debugging task
24
RQ2: Do developers explore/debug in different ways a
task?
● we observed two distinct debugging navigation patterns:
● fuzzydebugging pattern (several branches)
● straightdebugging pattern
25
Fuzzy pattern
26
27
Straight pattern
28
29
RQ3: Is there a correlation between time of first
breakpoint and task’s elapsed time?
30
RQ3: Is there a correlation between time of first
breakpoint and task’s elapsed time?
● there is a strong correlation (ρ = −0.637)
31
RQ3: Is there a correlation between time of first
breakpoint and task’s elapsed time?
● there is a strong correlation (ρ = −0.637)
32
33
whether developers toggle
breakpoints carefully, they
complete tasks faster than
developers who toggle breakpoints
too quickly 34
● Swam Debugging is an approach uses Swarm Intelligence and Information
Foraging Theory to provide knowledge from interactive debugging session
information
● There is a lot to investigate about interactive debugging phenomena!
● Swarm Debug Infrastructure (SDI) provides an infrastructure to create tools for
context-aware debugging
● Developers follow different debugging patterns
● When developers toggle breakpoints carefully, they complete tasks faster than
developers who toggle breakpoints too quickly
● There is a lot of investigating about interactive debugging phenomena!
Final Remarks
35
● It is free/open source and open research data
○ https://github.com/SwarmDebugging
○ http://server.swarmdebugging.org/
Swarm Debug Infrastructure is Free!
36
Do you like work with
these data?
37
Do you like work with
these data?
Go ahead!
38
Towards Understanding
Interactive Debugging
IEEE International Conference on Software Quality, Reliability and Security (QRS’2016)
Thank you!
@petrillofabio
fabio@petrillo.com

More Related Content

Viewers also liked

Towards effective bug triage with software
Towards effective bug triage with softwareTowards effective bug triage with software
Towards effective bug triage with softwareNexgen Technology
 
Issues management best practice approach for effective corporate pr
Issues management best practice approach for effective corporate prIssues management best practice approach for effective corporate pr
Issues management best practice approach for effective corporate prThe Quadrant Company
 
A Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software ApplicationA Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software ApplicationAbhishek Pasricha
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing BasicsBelal Raslan
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 

Viewers also liked (9)

Towards effective bug triage with software
Towards effective bug triage with softwareTowards effective bug triage with software
Towards effective bug triage with software
 
CASCON08.ppt
CASCON08.pptCASCON08.ppt
CASCON08.ppt
 
Issues management best practice approach for effective corporate pr
Issues management best practice approach for effective corporate prIssues management best practice approach for effective corporate pr
Issues management best practice approach for effective corporate pr
 
Bug Tracking System
Bug Tracking SystemBug Tracking System
Bug Tracking System
 
A Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software ApplicationA Bug Tracking System Is A Software Application
A Bug Tracking System Is A Software Application
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 

Similar to QRS2016 - Towards Understanding Interactive Debugging

A Plagiarism Checker: Analysis of time and space complexity
A Plagiarism Checker: Analysis of time and space complexityA Plagiarism Checker: Analysis of time and space complexity
A Plagiarism Checker: Analysis of time and space complexityIRJET Journal
 
OpenRepGrid – An Open Source Software for the Analysis of Repertory Grids
OpenRepGrid – An Open Source Software for the Analysis of Repertory GridsOpenRepGrid – An Open Source Software for the Analysis of Repertory Grids
OpenRepGrid – An Open Source Software for the Analysis of Repertory GridsMark Heckmann
 
Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Gail Murphy
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
Not Only Statements: The Role of Textual Analysis in Software Quality
Not Only Statements: The Role of Textual Analysis in Software QualityNot Only Statements: The Role of Textual Analysis in Software Quality
Not Only Statements: The Role of Textual Analysis in Software QualityRocco Oliveto
 
130817 latifa guerrouj - context-aware source code vocabulary normalization...
130817   latifa guerrouj - context-aware source code vocabulary normalization...130817   latifa guerrouj - context-aware source code vocabulary normalization...
130817 latifa guerrouj - context-aware source code vocabulary normalization...Ptidej Team
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed designpriyapavi96
 
IRJET- Next Generation System Assistant
IRJET- Next Generation System AssistantIRJET- Next Generation System Assistant
IRJET- Next Generation System AssistantIRJET Journal
 
Code-Review-COW56-Meeting
Code-Review-COW56-MeetingCode-Review-COW56-Meeting
Code-Review-COW56-MeetingMasud Rahman
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Hugo Bruneliere
 
Getting to Flow in Software Development (ASWEC 2014 Keynote)
Getting to Flow in Software Development (ASWEC 2014 Keynote)Getting to Flow in Software Development (ASWEC 2014 Keynote)
Getting to Flow in Software Development (ASWEC 2014 Keynote)Gail Murphy
 
Breaking the Silence: the Threats of Using LLMs in Software Engineering
Breaking the Silence: the Threats of Using LLMs in Software EngineeringBreaking the Silence: the Threats of Using LLMs in Software Engineering
Breaking the Silence: the Threats of Using LLMs in Software EngineeringAnnibale Panichella
 
A Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionA Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionMartin Pinzger
 
Securezy - A Penetration Testing Toolbox
Securezy - A Penetration Testing ToolboxSecurezy - A Penetration Testing Toolbox
Securezy - A Penetration Testing ToolboxIRJET Journal
 
29-Krishan Kumar
29-Krishan Kumar29-Krishan Kumar
29-Krishan Kumarkrishan8018
 

Similar to QRS2016 - Towards Understanding Interactive Debugging (20)

Icpc16.ppt
Icpc16.pptIcpc16.ppt
Icpc16.ppt
 
Qrs17a.ppt
Qrs17a.pptQrs17a.ppt
Qrs17a.ppt
 
Qrs17a.ppt
Qrs17a.pptQrs17a.ppt
Qrs17a.ppt
 
A Plagiarism Checker: Analysis of time and space complexity
A Plagiarism Checker: Analysis of time and space complexityA Plagiarism Checker: Analysis of time and space complexity
A Plagiarism Checker: Analysis of time and space complexity
 
OpenRepGrid – An Open Source Software for the Analysis of Repertory Grids
OpenRepGrid – An Open Source Software for the Analysis of Repertory GridsOpenRepGrid – An Open Source Software for the Analysis of Repertory Grids
OpenRepGrid – An Open Source Software for the Analysis of Repertory Grids
 
Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?Is software engineering research addressing software engineering problems?
Is software engineering research addressing software engineering problems?
 
The 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software EngineeringThe 2nd Intl. Workshop on NL-based Software Engineering
The 2nd Intl. Workshop on NL-based Software Engineering
 
Not Only Statements: The Role of Textual Analysis in Software Quality
Not Only Statements: The Role of Textual Analysis in Software QualityNot Only Statements: The Role of Textual Analysis in Software Quality
Not Only Statements: The Role of Textual Analysis in Software Quality
 
130817 latifa guerrouj - context-aware source code vocabulary normalization...
130817   latifa guerrouj - context-aware source code vocabulary normalization...130817   latifa guerrouj - context-aware source code vocabulary normalization...
130817 latifa guerrouj - context-aware source code vocabulary normalization...
 
Real time and distributed design
Real time and distributed designReal time and distributed design
Real time and distributed design
 
FuzzyDbg_Report.pdf
FuzzyDbg_Report.pdfFuzzyDbg_Report.pdf
FuzzyDbg_Report.pdf
 
IRJET- Next Generation System Assistant
IRJET- Next Generation System AssistantIRJET- Next Generation System Assistant
IRJET- Next Generation System Assistant
 
Code-Review-COW56-Meeting
Code-Review-COW56-MeetingCode-Review-COW56-Meeting
Code-Review-COW56-Meeting
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
 
Getting to Flow in Software Development (ASWEC 2014 Keynote)
Getting to Flow in Software Development (ASWEC 2014 Keynote)Getting to Flow in Software Development (ASWEC 2014 Keynote)
Getting to Flow in Software Development (ASWEC 2014 Keynote)
 
Breaking the Silence: the Threats of Using LLMs in Software Engineering
Breaking the Silence: the Threats of Using LLMs in Software EngineeringBreaking the Silence: the Threats of Using LLMs in Software Engineering
Breaking the Silence: the Threats of Using LLMs in Software Engineering
 
A Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug PredictionA Tale of Experiments on Bug Prediction
A Tale of Experiments on Bug Prediction
 
Securezy - A Penetration Testing Toolbox
Securezy - A Penetration Testing ToolboxSecurezy - A Penetration Testing Toolbox
Securezy - A Penetration Testing Toolbox
 
Student Spring 2021
Student Spring 2021Student Spring 2021
Student Spring 2021
 
29-Krishan Kumar
29-Krishan Kumar29-Krishan Kumar
29-Krishan Kumar
 

Recently uploaded

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

QRS2016 - Towards Understanding Interactive Debugging

  • 1. Towards Understanding Interactive Debugging 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 IEEE International Conference on Software Quality, Reliability and Security (QRS’2016)
  • 3. Is debugging important? Developers spend over two-thirds of their time (68%) investigating code, and the majority of this time is spent debugging code (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. 3
  • 4. During debugging, a lonely developer navigates the source code steps into many statements traverses dozens of method invocations gains understanding about the system. 4
  • 5. if interactive debugging is important to create knowledge about a software project, why is this human knowledge lost? 5
  • 6. Can we collect and share debugging session information? 6
  • 8. 8
  • 9. 9
  • 11. 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
  • 15. 15
  • 16. 16
  • 17. 17
  • 18. 18
  • 20. Experiment design ● 5 professional freelancers and 2 students ● Warm-up task ● 5 bug location tasks ● Open source project: JabRef 3.2 ● 19 bug location sessions ● about 6 hours of effective of video recording ● 110 breakpoints and ~ 7000 invocations 20
  • 22. RQ1: Is there a correlation between the numbers of invocations or toggled breakpoints and tasks’ elapsed time? 22
  • 23. 23
  • 24. RQ1: Is there a correlation between the numbers of invocations or toggled breakpoints and tasks’ elapsed time? There is no correlation(ρ = −0.039, 0.093) between the number of invocations(respectively the number of breakpointstoggled) during a debugging session and the spent time on the debugging task 24
  • 25. RQ2: Do developers explore/debug in different ways a task? ● we observed two distinct debugging navigation patterns: ● fuzzydebugging pattern (several branches) ● straightdebugging pattern 25
  • 27. 27
  • 29. 29
  • 30. RQ3: Is there a correlation between time of first breakpoint and task’s elapsed time? 30
  • 31. RQ3: Is there a correlation between time of first breakpoint and task’s elapsed time? ● there is a strong correlation (ρ = −0.637) 31
  • 32. RQ3: Is there a correlation between time of first breakpoint and task’s elapsed time? ● there is a strong correlation (ρ = −0.637) 32
  • 33. 33
  • 34. whether developers toggle breakpoints carefully, they complete tasks faster than developers who toggle breakpoints too quickly 34
  • 35. ● Swam Debugging is an approach uses Swarm Intelligence and Information Foraging Theory to provide knowledge from interactive debugging session information ● There is a lot to investigate about interactive debugging phenomena! ● Swarm Debug Infrastructure (SDI) provides an infrastructure to create tools for context-aware debugging ● Developers follow different debugging patterns ● When developers toggle breakpoints carefully, they complete tasks faster than developers who toggle breakpoints too quickly ● There is a lot of investigating about interactive debugging phenomena! Final Remarks 35
  • 36. ● It is free/open source and open research data ○ https://github.com/SwarmDebugging ○ http://server.swarmdebugging.org/ Swarm Debug Infrastructure is Free! 36
  • 37. Do you like work with these data? 37
  • 38. Do you like work with these data? Go ahead! 38
  • 39. Towards Understanding Interactive Debugging IEEE International Conference on Software Quality, Reliability and Security (QRS’2016) Thank you! @petrillofabio fabio@petrillo.com