際際滷

際際滷Share a Scribd company logo
Cues for Better
Scent in Debugging
             Rui Abreu
  Dept. of Informatics Engineering
        University of Porto
              Portugal
History:
  The birth of debugging




Your guess?
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Thanks to Alex Orso
Can we do this
                      automatically?




Thanks to Alex Orso
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Cues for Better Scent in Debugging
Diagnostic Performance
Cues for Better Scent in Debugging
Are we done?

 Best performing techniques still require
  the tester to inspect 10% of the code...
   100 LOC 10 LOC
   10,000 LOC 1,000 LOC
   1000,000 LOC 10,000 LOC
                   39
Metrics
 Are we measuring the right thing?
  rank-based



  PDG-based
                         40
Case Studies (NXP/PSC)




          41
Human studies
A. Orso et al observed that there is a lack of:




                          42
Why do we need
     human studies?
 Do developers follow the ranking?

 Does perfect bug understanding exist?
  How can we quantify isolation efforts?

                    43
Ecosystem in need

   Wide adoptionDebugging  a framework
Better Cues for
                  will only be possible if there
BetteraCues for Debugging  a framework
    is framework which provides
     Check it out at www.gzoltar.org
     testing functionalities
     debugging capabilities
     integrated in an IDE

                       44
Interested?
 Do you wanna try it out?
  We are always interested in receiving
    feedback
  Email Jos辿 Carlos Campos to participate
   jose.carlos.campos@fe.up.pt
 Thanks!
                    45
Conclusions
 History of debugging

 Spectrum-based reasoning

 Human studies
                    46
Open Research Questions
    Can we automatically decide if a test fails?

        Using program invariants

        Sort of replace asserts in JUnit tests

    Can we automatically suggest fixes?

    Other intuitive visualisations?

    How to reduce the overall overhead?

    Can we apply this principles to Web/Mobile envs?

    Self-healing: Architecture-based Run-time fault
     localization (NSF project with CMU)
                               47
Show time

More Related Content

Viewers also liked (13)

Dynamics in coffee sector eea conference 16 june 2014_bm_final
Dynamics in coffee sector eea conference 16 june 2014_bm_finalDynamics in coffee sector eea conference 16 june 2014_bm_final
Dynamics in coffee sector eea conference 16 june 2014_bm_final
Ethiopian Economics Association
Eea energy - development
Eea   energy - developmentEea   energy - development
Eea energy - development
Ethiopian Economics Association
Tendencias jonesTendencias jones
Tendencias jones
UNU-WIDER
total project
total projecttotal project
total project
sana parikshith
Sme survey vietnam
Sme survey vietnamSme survey vietnam
Sme survey vietnam
UNU-WIDER
Fundamentals Writing and Literature Informal Letter Writing Presentation
Fundamentals Writing and Literature Informal Letter Writing PresentationFundamentals Writing and Literature Informal Letter Writing Presentation
Fundamentals Writing and Literature Informal Letter Writing Presentation
MrsBrynaCannon
Ethiopian GDP
Ethiopian GDPEthiopian GDP
Ethiopian GDP
fatuma ahmed
The Rising Startup Ecosystems | Seedstars World
The Rising Startup Ecosystems | Seedstars WorldThe Rising Startup Ecosystems | Seedstars World
The Rising Startup Ecosystems | Seedstars World
Seedstars World
Geometria sagrada[1]Geometria sagrada[1]
Geometria sagrada[1]
Jordi Garrigosa Ayuso
Il genere e il numero delle parole
Il genere e il numero delle paroleIl genere e il numero delle parole
Il genere e il numero delle parole
Danilo Buccarello
Il condizionale
Il condizionaleIl condizionale
Il condizionale
Danilo Buccarello
Periodo ipotetico int1
Periodo ipotetico int1Periodo ipotetico int1
Periodo ipotetico int1
Danilo Buccarello
Pronomi relativi int1
Pronomi relativi int1Pronomi relativi int1
Pronomi relativi int1
Danilo Buccarello
Dynamics in coffee sector eea conference 16 june 2014_bm_final
Dynamics in coffee sector eea conference 16 june 2014_bm_finalDynamics in coffee sector eea conference 16 june 2014_bm_final
Dynamics in coffee sector eea conference 16 june 2014_bm_final
Ethiopian Economics Association
Tendencias jonesTendencias jones
Tendencias jones
UNU-WIDER
Sme survey vietnam
Sme survey vietnamSme survey vietnam
Sme survey vietnam
UNU-WIDER
Fundamentals Writing and Literature Informal Letter Writing Presentation
Fundamentals Writing and Literature Informal Letter Writing PresentationFundamentals Writing and Literature Informal Letter Writing Presentation
Fundamentals Writing and Literature Informal Letter Writing Presentation
MrsBrynaCannon
The Rising Startup Ecosystems | Seedstars World
The Rising Startup Ecosystems | Seedstars WorldThe Rising Startup Ecosystems | Seedstars World
The Rising Startup Ecosystems | Seedstars World
Seedstars World
Geometria sagrada[1]Geometria sagrada[1]
Geometria sagrada[1]
Jordi Garrigosa Ayuso
Il genere e il numero delle parole
Il genere e il numero delle paroleIl genere e il numero delle parole
Il genere e il numero delle parole
Danilo Buccarello

Similar to Cues for Better Scent in Debugging (20)

Solr pattern
Solr patternSolr pattern
Solr pattern
OpenSource Connections
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
Andrey Karpov
Core Principles Of Ci
Core Principles Of CiCore Principles Of Ci
Core Principles Of Ci
OpenSource Connections
Wed 2017-ai -creativity
Wed 2017-ai -creativityWed 2017-ai -creativity
Wed 2017-ai -creativity
Jonny Silva
How to Clean Up Your Continuous Testing Suites for Web & Mobile
How to Clean Up Your Continuous Testing Suites for Web & MobileHow to Clean Up Your Continuous Testing Suites for Web & Mobile
How to Clean Up Your Continuous Testing Suites for Web & Mobile
Perfecto by Perforce
Testing Plug-in Architectures
Testing Plug-in ArchitecturesTesting Plug-in Architectures
Testing Plug-in Architectures
Arie van Deursen
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overview
alessio_ferrari
How to Guarantee Continuous Value from your Test Automation
How to Guarantee Continuous Value from your Test AutomationHow to Guarantee Continuous Value from your Test Automation
How to Guarantee Continuous Value from your Test Automation
Perfecto by Perforce
12 years supporting Software Architecture teaching with BEAMs
12 years supporting Software Architecture teaching with BEAMs12 years supporting Software Architecture teaching with BEAMs
12 years supporting Software Architecture teaching with BEAMs
Laura M. Castro
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture
Ahmed Marzouk
Chatting with your programs to find vulnerabilities
Chatting with your programs to find vulnerabilitiesChatting with your programs to find vulnerabilities
Chatting with your programs to find vulnerabilities
Christopher Gardner
FutureOfTesting2008
FutureOfTesting2008FutureOfTesting2008
FutureOfTesting2008
vipulkocher
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
Lionel Briand
Better Search Engine Testing - Eric Pugh
Better Search Engine Testing - Eric PughBetter Search Engine Testing - Eric Pugh
Better Search Engine Testing - Eric Pugh
lucenerevolution
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
Kari Kakkonen
Keeping ontology development Agile
Keeping ontology development AgileKeeping ontology development Agile
Keeping ontology development Agile
robertstevens65
Debugging microservices in production
Debugging microservices in productionDebugging microservices in production
Debugging microservices in production
bcantrill
2014 toronto-torbug
2014 toronto-torbug2014 toronto-torbug
2014 toronto-torbug
c.titus.brown
How will I Survive a DevOps Transformation?
How will I Survive a DevOps Transformation?How will I Survive a DevOps Transformation?
How will I Survive a DevOps Transformation?
Corecom Consulting
CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45
Bilal Ahmed
What a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysisWhat a DevOps specialist has to know about static code analysis
What a DevOps specialist has to know about static code analysis
Andrey Karpov
Wed 2017-ai -creativity
Wed 2017-ai -creativityWed 2017-ai -creativity
Wed 2017-ai -creativity
Jonny Silva
How to Clean Up Your Continuous Testing Suites for Web & Mobile
How to Clean Up Your Continuous Testing Suites for Web & MobileHow to Clean Up Your Continuous Testing Suites for Web & Mobile
How to Clean Up Your Continuous Testing Suites for Web & Mobile
Perfecto by Perforce
Testing Plug-in Architectures
Testing Plug-in ArchitecturesTesting Plug-in Architectures
Testing Plug-in Architectures
Arie van Deursen
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overview
alessio_ferrari
How to Guarantee Continuous Value from your Test Automation
How to Guarantee Continuous Value from your Test AutomationHow to Guarantee Continuous Value from your Test Automation
How to Guarantee Continuous Value from your Test Automation
Perfecto by Perforce
12 years supporting Software Architecture teaching with BEAMs
12 years supporting Software Architecture teaching with BEAMs12 years supporting Software Architecture teaching with BEAMs
12 years supporting Software Architecture teaching with BEAMs
Laura M. Castro
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture
Ahmed Marzouk
Chatting with your programs to find vulnerabilities
Chatting with your programs to find vulnerabilitiesChatting with your programs to find vulnerabilities
Chatting with your programs to find vulnerabilities
Christopher Gardner
FutureOfTesting2008
FutureOfTesting2008FutureOfTesting2008
FutureOfTesting2008
vipulkocher
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
Lionel Briand
Better Search Engine Testing - Eric Pugh
Better Search Engine Testing - Eric PughBetter Search Engine Testing - Eric Pugh
Better Search Engine Testing - Eric Pugh
lucenerevolution
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
Kari Kakkonen
Keeping ontology development Agile
Keeping ontology development AgileKeeping ontology development Agile
Keeping ontology development Agile
robertstevens65
Debugging microservices in production
Debugging microservices in productionDebugging microservices in production
Debugging microservices in production
bcantrill
2014 toronto-torbug
2014 toronto-torbug2014 toronto-torbug
2014 toronto-torbug
c.titus.brown
How will I Survive a DevOps Transformation?
How will I Survive a DevOps Transformation?How will I Survive a DevOps Transformation?
How will I Survive a DevOps Transformation?
Corecom Consulting
CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45
Bilal Ahmed

Cues for Better Scent in Debugging

  • 1. Cues for Better Scent in Debugging Rui Abreu Dept. of Informatics Engineering University of Porto Portugal
  • 2. History: The birth of debugging Your guess?
  • 18. Can we do this automatically? Thanks to Alex Orso
  • 39. Are we done? Best performing techniques still require the tester to inspect 10% of the code... 100 LOC 10 LOC 10,000 LOC 1,000 LOC 1000,000 LOC 10,000 LOC 39
  • 40. Metrics Are we measuring the right thing? rank-based PDG-based 40
  • 42. Human studies A. Orso et al observed that there is a lack of: 42
  • 43. Why do we need human studies? Do developers follow the ranking? Does perfect bug understanding exist? How can we quantify isolation efforts? 43
  • 44. Ecosystem in need Wide adoptionDebugging a framework Better Cues for will only be possible if there BetteraCues for Debugging a framework is framework which provides Check it out at www.gzoltar.org testing functionalities debugging capabilities integrated in an IDE 44
  • 45. Interested? Do you wanna try it out? We are always interested in receiving feedback Email Jos辿 Carlos Campos to participate jose.carlos.campos@fe.up.pt Thanks! 45
  • 46. Conclusions History of debugging Spectrum-based reasoning Human studies 46
  • 47. Open Research Questions Can we automatically decide if a test fails? Using program invariants Sort of replace asserts in JUnit tests Can we automatically suggest fixes? Other intuitive visualisations? How to reduce the overall overhead? Can we apply this principles to Web/Mobile envs? Self-healing: Architecture-based Run-time fault localization (NSF project with CMU) 47