SlideShare a Scribd company logo
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

Similar to Qrs16.ppt

Qrs17a.ppt
Qrs17a.pptQrs17a.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
IRJET 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 Grids
Mark 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 Engineering
Sebastiano 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 Quality
Rocco 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 design
priyapavi96
 
FuzzyDbg_Report.pdf
FuzzyDbg_Report.pdfFuzzyDbg_Report.pdf
FuzzyDbg_Report.pdf
ritviktanksalkar1
 
IRJET- Next Generation System Assistant
IRJET- Next Generation System AssistantIRJET- Next Generation System Assistant
IRJET- Next Generation System Assistant
IRJET Journal
 
Code-Review-COW56-Meeting
Code-Review-COW56-MeetingCode-Review-COW56-Meeting
Code-Review-COW56-Meeting
Masud 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 Engineering
Annibale 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 Prediction
Martin Pinzger
 
Securezy - A Penetration Testing Toolbox
Securezy - A Penetration Testing ToolboxSecurezy - A Penetration Testing Toolbox
Securezy - A Penetration Testing Toolbox
IRJET Journal
 
Student Spring 2021
Student Spring 2021Student Spring 2021
Student Spring 2021
Denis Zakharov
 
29-Krishan Kumar
29-Krishan Kumar29-Krishan Kumar
29-Krishan Kumar
krishan8018
 
VL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
VL/HCC 2014 - A Longitudinal Study of Programmers' BacktrackingVL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
VL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
YoungSeok Yoon
 
Effective Fault-Localization Techniques for Concurrent Software
Effective Fault-Localization Techniques for Concurrent SoftwareEffective Fault-Localization Techniques for Concurrent Software
Effective Fault-Localization Techniques for Concurrent Software
Sangmin Park
 

Similar to Qrs16.ppt (20)

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
 
VL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
VL/HCC 2014 - A Longitudinal Study of Programmers' BacktrackingVL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
VL/HCC 2014 - A Longitudinal Study of Programmers' Backtracking
 
Effective Fault-Localization Techniques for Concurrent Software
Effective Fault-Localization Techniques for Concurrent SoftwareEffective Fault-Localization Techniques for Concurrent Software
Effective Fault-Localization Techniques for Concurrent Software
 

More from Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation
PresentationPresentation
Presentation
Ptidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
Ptidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
Ptidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
Ptidej Team
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
Ptidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
Ptidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
Ptidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
Ptidej Team
 
MIPA
MIPAMIPA
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
Ptidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
Ptidej Team
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
Ptidej Team
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
Ptidej Team
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
Ptidej Team
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
Ptidej Team
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
Ptidej Team
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
Ptidej Team
 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 

Recently uploaded (20)

Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 

Qrs16.ppt

  • 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