SlideShare a Scribd company logo
1 of 30
Download to read offline
How Do Developers Toggle Breakpoints?
– Observational Studies –
Fabio Petrillo, Hyan Mandian, Aiko Yamashita, Foutse Khomh, Yann-Gaël Guéhéneuc
Polytechnique Montréal, Canada
UniRitter, Brazil
Oslo and Akershus University College of Applied Sciences, Norway
IEEE International Conference on Software Quality, Reliability and Security (QRS’2017)
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.
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%)
● 40% of the developers go to debug mode directly after they have
performed a change
● 63% of the developers used dynamic approaches to perform impact
analysis over their changes.
LaToza, T. D., & Myers, B. a. (2010). Developers ask reachability questions. 2010 ACM/IEEE 32nd
International Conference on Software Engineering, 1, 185–194.
S. Jiang, C. McMillan, and R. Santelices, “Do programmers do change impact analysis in debugging?”
Empirical Software Engineering, pp. 1–39, 2016. 3
During interactive debugging, lonely developers
navigate the source code
step into many statements
traverse dozens of method invocations
gain understanding about the system.
However, first, they have to SET a breakpoint.
4
Setting a breakpoint
● Setting a breakpoint is one of the most
frequently used features of IDEs
● To decide where to set a breakpoint, developers:
○ must use their observations
○ recall their experiences with similar tasks
○ formulate hypotheses about the task
5
Setting a breakpoint
● Tiarks and Röhms observed that developers have
difficulties in finding locations for setting the
breakpoints
● Suggesting that this is a difficult activity
Supporting developers to set appropriate
reakpoints could reduce debugging effort
R. Tiarks and T. Rö hm, “Challenges in Program Comprehension,” Softwaretechnik-Trends, vol. 32, no. 2,
pp. 19–20, May 2013. 6
However, no study has been performed on
how developers set breakpoints.
7
Study Design
8
Study design
● We analysed 45 video-recorded debugging
sessions
● Extracting breakpoint data
● 2 independent studies
○ Study 1: JabRef (own videos)
○ Study 2: PdfSam and Raptor (videos from
study Jiang et al. [3]
9
Study 1 - JabRef
● 20 developpers (8 freelancers and 12 students)
● 5 true tasks from JabRef issue system (GitHub)
● Performing debugging to locate the faults
● Maximum limit of one-hour per task
● Debugging data (breakpoints, stepping, method invocations)
were automatically collected by a Eclipse tracing plug-in.
● On-line post-experiment questionnaire to collect information
about the study
10
Study 2 - PdfSam and Raptor
● Re-analysis of 20 videos of debugging sessions available from
a study conducted by Jiang et al. [3]
● Study on change impact analysis
● One defect per system
● Fault correction tasks
11
Summary of Studies
● 3 different systems
● 7 different tasks
○ 5 bug locations
○ 2 bug corrections
● 307 breakpoints
● More than 10 hours of video
12
Results
13
RQ1: What is the effort (time) for setting the first breakpoint in relation to
the total effort for a debugging task?
Study 1 : in average participants spend 27% of the total
task duration to set the first breakpoint (std. Dev. 17%)
Study 2 : in average participants spend 23% of the total
task duration to set the first breakpoint (std. Dev. 17%)
14
We conclude that the effort for setting the first breakpoint takes
near one quarter of the total effort of
a single debugging session. This effort is important
and hints that debugging time could be reduced by
providing tool support for setting breakpoints.
15
RQ2: Is there a correlation between time of first breakpoint
and task’s elapsed time?
● there is a clear correlation (ρ = −0.47)
16
17
If developers toggle breakpoints
carefully, they complete tasks faster
than developers who toggle breakpoints
too quickly
18
RQ3: Are there consistent, common debugging trends to the types of
statements among developers?
19
Study 1 Study 2
Breakpoints per type of statement
RQ3: Are there consistent, common debugging trends to the types of
statements among developers?
20
Study 1 Study 2
Breakpoints per type of statement
Yes, there are trends on developers
chose a breakpoint. 50% of the
breakpoints were set on call statements
while loop statement the least common
(2-4%)
21
RQ4: Are there consistent, common debugging trends for
setting breakpoints on the same line, method, or class,
among developers?
22
23
24
Study 1 - JabRef
Breakpoints in the same line of code
Study 2 - PdfSam
Study 2 - Raptor
25
Study 1 - Breakpoints by class across different tasks
26
Study 1 - Methods with 5 or more breakpoints
Developers do not choose breakpoints lightly, but
there is a rationale in their setting breakpoints,
because different developers set breakpoints on the
same line of code for the same task and
different developers set breakpoints on the same type
or method for different tasks.
27
This results shows the usefulness of collecting and
sharing breakpoints to assist developers during
maintenance tasks, showing an opportunity
to recommend those locations as candidates for new
debugging sessions.
28
● Setting the first breakpoints is hard (~ 25% of task time)
● ~ 50% of the breakpoints were set on call statements
● When developers toggle breakpoints carefully, they complete tasks faster than
developers who toggle breakpoints too quickly
● Different developers set breakpoints on the same line of code for the same task
● Developers need tools that can assist them in locating adequate places to set
breakpoints in the code and our observations suggest the opportunity for a
breakpoint recommendation system
● Our work helps to build a grounded theory on the setting of breakpoints to
improve debuggers and other tool
● fill the gap in the literature about interactive debugging behaviors
● There is a lot of investigating about interactive debugging phenomena!
Final Remarks
29
IEEE International Conference on Software Quality, Reliability and Security (QRS’2017)
Thank you!
@petrillofabio
fabio@petrillo.com

More Related Content

What's hot

Early Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentEarly Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software Development
Roopesh Jhurani
 
Benchmarking with JMH (riviera dev 2017)
Benchmarking with JMH (riviera dev 2017)Benchmarking with JMH (riviera dev 2017)
Benchmarking with JMH (riviera dev 2017)
Nenad Bogojevic
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPT
suhasreddy1
 
Foundation level sample_exam_v2.3_answers_and_justification
Foundation level sample_exam_v2.3_answers_and_justificationFoundation level sample_exam_v2.3_answers_and_justification
Foundation level sample_exam_v2.3_answers_and_justification
Venera Romanova
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
IJERD Editor
 

What's hot (17)

Lo 08
Lo 08Lo 08
Lo 08
 
Formal Versus Agile: Survival of the Fittest? (Paul Boca)
Formal Versus Agile: Survival of the Fittest? (Paul Boca)Formal Versus Agile: Survival of the Fittest? (Paul Boca)
Formal Versus Agile: Survival of the Fittest? (Paul Boca)
 
Open Bugs & Development Stages
Open Bugs & Development StagesOpen Bugs & Development Stages
Open Bugs & Development Stages
 
MSR2017-Challenge
MSR2017-ChallengeMSR2017-Challenge
MSR2017-Challenge
 
Partitioned Based Regression Verification
Partitioned Based Regression VerificationPartitioned Based Regression Verification
Partitioned Based Regression Verification
 
Early Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentEarly Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software Development
 
JUnit with_mocking
JUnit with_mockingJUnit with_mocking
JUnit with_mocking
 
Benchmarking with JMH (riviera dev 2017)
Benchmarking with JMH (riviera dev 2017)Benchmarking with JMH (riviera dev 2017)
Benchmarking with JMH (riviera dev 2017)
 
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONSQUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPT
 
Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)Implications of Open Source Software Use (or Let's Talk Open Source)
Implications of Open Source Software Use (or Let's Talk Open Source)
 
Defect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future ChallengesDefect Prediction: Accomplishments and Future Challenges
Defect Prediction: Accomplishments and Future Challenges
 
Notes on teaching software testing
Notes on teaching software testingNotes on teaching software testing
Notes on teaching software testing
 
Foundation level sample_exam_v2.3_answers_and_justification
Foundation level sample_exam_v2.3_answers_and_justificationFoundation level sample_exam_v2.3_answers_and_justification
Foundation level sample_exam_v2.3_answers_and_justification
 
Fundamentals of Testing 2
Fundamentals of Testing 2Fundamentals of Testing 2
Fundamentals of Testing 2
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Thinking in software testing
Thinking in software testingThinking in software testing
Thinking in software testing
 

Similar to Qrs17a.ppt

Module 1_software engineering.pptx
Module 1_software engineering.pptxModule 1_software engineering.pptx
Module 1_software engineering.pptx
adityab33
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
Vladimir Kotov
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
John Lewis
 
Comparison between Test-Driven Development and Conventional Development: A Ca...
Comparison between Test-Driven Development and Conventional Development: A Ca...Comparison between Test-Driven Development and Conventional Development: A Ca...
Comparison between Test-Driven Development and Conventional Development: A Ca...
IJERA Editor
 

Similar to Qrs17a.ppt (20)

Icpc16.ppt
Icpc16.pptIcpc16.ppt
Icpc16.ppt
 
Icpc16.ppt
Icpc16.pptIcpc16.ppt
Icpc16.ppt
 
Qrs16.ppt
Qrs16.pptQrs16.ppt
Qrs16.ppt
 
Qrs16.ppt
Qrs16.pptQrs16.ppt
Qrs16.ppt
 
Software tetsing paper related to industry
Software tetsing paper related to industrySoftware tetsing paper related to industry
Software tetsing paper related to industry
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sample
 
Spm unit v-software maintenance-intro
Spm unit v-software maintenance-introSpm unit v-software maintenance-intro
Spm unit v-software maintenance-intro
 
[IJCT-V3I2P28] Authors: KulbirKaur, AnureetKaur
[IJCT-V3I2P28] Authors: KulbirKaur, AnureetKaur[IJCT-V3I2P28] Authors: KulbirKaur, AnureetKaur
[IJCT-V3I2P28] Authors: KulbirKaur, AnureetKaur
 
Module 1_software engineering.pptx
Module 1_software engineering.pptxModule 1_software engineering.pptx
Module 1_software engineering.pptx
 
e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
agile methods.docx
agile methods.docxagile methods.docx
agile methods.docx
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Advantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic RepositoryAdvantages and Disadvantages of a Monolithic Repository
Advantages and Disadvantages of a Monolithic Repository
 
Wait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debtWait for it: identifying “On-Hold” self-admitted technical debt
Wait for it: identifying “On-Hold” self-admitted technical debt
 
A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks A controlled experiment in assessing and estimating software maintenance tasks
A controlled experiment in assessing and estimating software maintenance tasks
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
7a Good Programming Practice.pptx
7a Good Programming Practice.pptx7a Good Programming Practice.pptx
7a Good Programming Practice.pptx
 
Comparison between Test-Driven Development and Conventional Development: A Ca...
Comparison between Test-Driven Development and Conventional Development: A Ca...Comparison between Test-Driven Development and Conventional Development: A Ca...
Comparison between Test-Driven Development and Conventional Development: A Ca...
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
 
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
A MODEL TO COMPARE THE DEGREE OF REFACTORING OPPORTUNITIES OF THREE PROJECTS ...
 

More from 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

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 

Qrs17a.ppt

  • 1. How Do Developers Toggle Breakpoints? – Observational Studies – Fabio Petrillo, Hyan Mandian, Aiko Yamashita, Foutse Khomh, Yann-Gaël Guéhéneuc Polytechnique Montréal, Canada UniRitter, Brazil Oslo and Akershus University College of Applied Sciences, Norway IEEE International Conference on Software Quality, Reliability and Security (QRS’2017)
  • 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. 2
  • 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%) ● 40% of the developers go to debug mode directly after they have performed a change ● 63% of the developers used dynamic approaches to perform impact analysis over their changes. LaToza, T. D., & Myers, B. a. (2010). Developers ask reachability questions. 2010 ACM/IEEE 32nd International Conference on Software Engineering, 1, 185–194. S. Jiang, C. McMillan, and R. Santelices, “Do programmers do change impact analysis in debugging?” Empirical Software Engineering, pp. 1–39, 2016. 3
  • 4. During interactive debugging, lonely developers navigate the source code step into many statements traverse dozens of method invocations gain understanding about the system. However, first, they have to SET a breakpoint. 4
  • 5. Setting a breakpoint ● Setting a breakpoint is one of the most frequently used features of IDEs ● To decide where to set a breakpoint, developers: ○ must use their observations ○ recall their experiences with similar tasks ○ formulate hypotheses about the task 5
  • 6. Setting a breakpoint ● Tiarks and Röhms observed that developers have difficulties in finding locations for setting the breakpoints ● Suggesting that this is a difficult activity Supporting developers to set appropriate reakpoints could reduce debugging effort R. Tiarks and T. Rö hm, “Challenges in Program Comprehension,” Softwaretechnik-Trends, vol. 32, no. 2, pp. 19–20, May 2013. 6
  • 7. However, no study has been performed on how developers set breakpoints. 7
  • 9. Study design ● We analysed 45 video-recorded debugging sessions ● Extracting breakpoint data ● 2 independent studies ○ Study 1: JabRef (own videos) ○ Study 2: PdfSam and Raptor (videos from study Jiang et al. [3] 9
  • 10. Study 1 - JabRef ● 20 developpers (8 freelancers and 12 students) ● 5 true tasks from JabRef issue system (GitHub) ● Performing debugging to locate the faults ● Maximum limit of one-hour per task ● Debugging data (breakpoints, stepping, method invocations) were automatically collected by a Eclipse tracing plug-in. ● On-line post-experiment questionnaire to collect information about the study 10
  • 11. Study 2 - PdfSam and Raptor ● Re-analysis of 20 videos of debugging sessions available from a study conducted by Jiang et al. [3] ● Study on change impact analysis ● One defect per system ● Fault correction tasks 11
  • 12. Summary of Studies ● 3 different systems ● 7 different tasks ○ 5 bug locations ○ 2 bug corrections ● 307 breakpoints ● More than 10 hours of video 12
  • 14. RQ1: What is the effort (time) for setting the first breakpoint in relation to the total effort for a debugging task? Study 1 : in average participants spend 27% of the total task duration to set the first breakpoint (std. Dev. 17%) Study 2 : in average participants spend 23% of the total task duration to set the first breakpoint (std. Dev. 17%) 14
  • 15. We conclude that the effort for setting the first breakpoint takes near one quarter of the total effort of a single debugging session. This effort is important and hints that debugging time could be reduced by providing tool support for setting breakpoints. 15
  • 16. RQ2: Is there a correlation between time of first breakpoint and task’s elapsed time? ● there is a clear correlation (ρ = −0.47) 16
  • 17. 17
  • 18. If developers toggle breakpoints carefully, they complete tasks faster than developers who toggle breakpoints too quickly 18
  • 19. RQ3: Are there consistent, common debugging trends to the types of statements among developers? 19 Study 1 Study 2 Breakpoints per type of statement
  • 20. RQ3: Are there consistent, common debugging trends to the types of statements among developers? 20 Study 1 Study 2 Breakpoints per type of statement
  • 21. Yes, there are trends on developers chose a breakpoint. 50% of the breakpoints were set on call statements while loop statement the least common (2-4%) 21
  • 22. RQ4: Are there consistent, common debugging trends for setting breakpoints on the same line, method, or class, among developers? 22
  • 23. 23
  • 24. 24 Study 1 - JabRef Breakpoints in the same line of code Study 2 - PdfSam Study 2 - Raptor
  • 25. 25 Study 1 - Breakpoints by class across different tasks
  • 26. 26 Study 1 - Methods with 5 or more breakpoints
  • 27. Developers do not choose breakpoints lightly, but there is a rationale in their setting breakpoints, because different developers set breakpoints on the same line of code for the same task and different developers set breakpoints on the same type or method for different tasks. 27
  • 28. This results shows the usefulness of collecting and sharing breakpoints to assist developers during maintenance tasks, showing an opportunity to recommend those locations as candidates for new debugging sessions. 28
  • 29. ● Setting the first breakpoints is hard (~ 25% of task time) ● ~ 50% of the breakpoints were set on call statements ● When developers toggle breakpoints carefully, they complete tasks faster than developers who toggle breakpoints too quickly ● Different developers set breakpoints on the same line of code for the same task ● Developers need tools that can assist them in locating adequate places to set breakpoints in the code and our observations suggest the opportunity for a breakpoint recommendation system ● Our work helps to build a grounded theory on the setting of breakpoints to improve debuggers and other tool ● fill the gap in the literature about interactive debugging behaviors ● There is a lot of investigating about interactive debugging phenomena! Final Remarks 29
  • 30. IEEE International Conference on Software Quality, Reliability and Security (QRS’2017) Thank you! @petrillofabio fabio@petrillo.com