SlideShare uma empresa Scribd logo
1 de 48
Cues for Better
Scent in Debugging
             Rui Abreu
  Dept. of Informatics Engineering
        University of Porto
              Portugal
History:
  The birth of debugging




Your guess?
Thanks to Alex Orso
Can we do this
                      automatically?




Thanks to Alex Orso
Diagnostic Performance
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

Mais conteúdo relacionado

Destaque

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_finalEthiopian Economics Association
 
Tendencias jones
Tendencias jonesTendencias jones
Tendencias jonesUNU-WIDER
 
Sme survey vietnam
Sme survey vietnamSme survey vietnam
Sme survey vietnamUNU-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 PresentationMrsBrynaCannon
 
The Rising Startup Ecosystems | Seedstars World
The Rising Startup Ecosystems | Seedstars WorldThe Rising Startup Ecosystems | Seedstars World
The Rising Startup Ecosystems | Seedstars WorldSeedstars World
 
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 paroleDanilo Buccarello
 

Destaque (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
 
Eea energy - development
Eea   energy - developmentEea   energy - development
Eea energy - development
 
Tendencias jones
Tendencias jonesTendencias jones
Tendencias jones
 
total project
total projecttotal project
total project
 
Sme survey vietnam
Sme survey vietnamSme survey vietnam
Sme survey vietnam
 
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
 
Ethiopian GDP
Ethiopian GDPEthiopian GDP
Ethiopian GDP
 
The Rising Startup Ecosystems | Seedstars World
The Rising Startup Ecosystems | Seedstars WorldThe Rising Startup Ecosystems | Seedstars World
The Rising Startup Ecosystems | Seedstars World
 
Geometria sagrada[1]
Geometria sagrada[1]Geometria sagrada[1]
Geometria sagrada[1]
 
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
 
Il condizionale
Il condizionaleIl condizionale
Il condizionale
 
Periodo ipotetico int1
Periodo ipotetico int1Periodo ipotetico int1
Periodo ipotetico int1
 
Pronomi relativi int1
Pronomi relativi int1Pronomi relativi int1
Pronomi relativi int1
 

Semelhante a Cues for Better Scent in Debugging

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 analysisAndrey Karpov
 
Wed 2017-ai -creativity
Wed 2017-ai -creativityWed 2017-ai -creativity
Wed 2017-ai -creativityJonny 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 & MobilePerfecto by Perforce
 
Testing Plug-in Architectures
Testing Plug-in ArchitecturesTesting Plug-in Architectures
Testing Plug-in ArchitecturesArie 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 Overviewalessio_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 AutomationPerfecto by Perforce
 
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 vulnerabilitiesChristopher Gardner
 
FutureOfTesting2008
FutureOfTesting2008FutureOfTesting2008
FutureOfTesting2008vipulkocher
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingLionel Briand
 
Better Search Engine Testing - Eric Pugh
Better Search Engine Testing - Eric PughBetter Search Engine Testing - Eric Pugh
Better Search Engine Testing - Eric Pughlucenerevolution
 
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 examplesKari Kakkonen
 
Keeping ontology development Agile
Keeping ontology development AgileKeeping ontology development Agile
Keeping ontology development Agilerobertstevens65
 
Debugging microservices in production
Debugging microservices in productionDebugging microservices in production
Debugging microservices in productionbcantrill
 
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 45Bilal Ahmed
 

Semelhante a Cues for Better Scent in Debugging (20)

Solr pattern
Solr patternSolr pattern
Solr pattern
 
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
 
Core Principles Of Ci
Core Principles Of CiCore Principles Of Ci
Core Principles Of Ci
 
Wed 2017-ai -creativity
Wed 2017-ai -creativityWed 2017-ai -creativity
Wed 2017-ai -creativity
 
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
 
Testing Plug-in Architectures
Testing Plug-in ArchitecturesTesting Plug-in Architectures
Testing Plug-in Architectures
 
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
 
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
 
Modern Software Architecture
Modern Software Architecture Modern Software Architecture
Modern Software Architecture
 
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
 
FutureOfTesting2008
FutureOfTesting2008FutureOfTesting2008
FutureOfTesting2008
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
 
Better Search Engine Testing - Eric Pugh
Better Search Engine Testing - Eric PughBetter Search Engine Testing - Eric Pugh
Better Search Engine Testing - Eric Pugh
 
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
 
Keeping ontology development Agile
Keeping ontology development AgileKeeping ontology development Agile
Keeping ontology development Agile
 
Debugging microservices in production
Debugging microservices in productionDebugging microservices in production
Debugging microservices in production
 
2014 toronto-torbug
2014 toronto-torbug2014 toronto-torbug
2014 toronto-torbug
 
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?
 
CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45
 
Better search engine testing for solr
Better search engine testing for solrBetter search engine testing for solr
Better search engine testing for solr
 

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?
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 18. Can we do this automatically? Thanks to Alex Orso
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 38.
  • 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