The Pharo Debugger and Debugging tools: Advances and Roadmap

E
ESUGESUG
Steven Costiou Valentin Bourcier
The Pharo Debugger and
Debugging tools
Advances and Roadmap
•Part 1 - Advances and Roadmap
• The team and its organization
• The latest improvements
• The roadmap
•Part 2 - Demos
A two-part talk
This talk
Discover and understand what are the best
debugging methods for object-oriented systems so
that we can build better debugging tools in order
to facilitate debugging (faster, easier, cheaper)
Research objective
•Time-Traveling Debugging
•Object-Centric Debugging
•Language Support for Tool Implementation
• Modular debugging infrastructures
• Re
fl
ection techniques
• Frameworks and tools
Research topics
Research method
Hypotheses
Design
Build
Evaluate Controlled experiments
Automated experiments
Real-world feedback
Usable artefacts
Contribute to Pharo
We need a strong debugger!
Hypotheses
Design
Build
Evaluate Controlled experiments
Automated experiments
Real-world feedback
Usable artefacts
Contribute to Pharo
Evaluate
Hypotheses
Design
Build Usable artefacts
Contribute to Pharo
We need your help!
Controlled experiments
Automated experiments
Real-world feedback
•Surveys and interviews
•Empirical evaluations
• Between participants design
• Within participants design
• Data collection
•Anonymous automated data collection
• The data goes into a secure server hosted at Inria
• Once the data is in, we can’t tell it’s yours
What you should expect if you participate
Research Experiments
•Surveys and interviews
•Empirical evaluations
• Between participants design
• Within participants design
• Data collection
•Anonymous automated data collection
• The data goes into a secure server hosted at Inria
• Once the data is in, we can’t tell it’s yours
What you should expect if you participate
Research Experiments
?
comparison
~1 hour
•Surveys and interviews
•Empirical evaluations
• Between participants design
• Within participants design
• Data collection
•Anonymous automated data collection
• The data goes into a secure server hosted at Inria
• Once the data is in, we can’t tell it’s yours
What you should expect if you participate
Research Experiments
?
comparison
~2 hours
•Surveys and interviews
•Empirical evaluations
• Between participants design
• Within participants design
• Data collection
•Anonymous automated data collection
• The data goes into a secure server hosted at Inria
• Once the data is in, we can’t tell it’s yours
What you should expect if you participate
Research Experiments
•Surveys and interviews
•Empirical evaluations
• Between participants design
• Within participants design
• Data collection
•Anonymous automated data collection
• The data goes into a secure server hosted at Inria
• Once the data is in, we can’t tell it’s yours
What you should expect if you participate
Research Experiments
•Debugger Driven Development / XTDD
•Object-Centric Breakpoints
•Time-Traveling Object-Centric Debugging
Would you want to participate?
Next Experiments
The Debugging Department
Steven Costiou
Researcher
Adrien Vanègue
Engineer
Valentin Bourcier
PhD Student
Steven Costiou
Researcher
Adrien Vanègue
Engineer
Valentin Bourcier
PhD Student
The Debugging Department
•Bug
fi
xes
• 136 bug
fi
xes
• 36 issues open with « debugger » somewhere in the
issue description or discussion
• Tests!
•Infrastructure improvements
•Architectural improvements
•New tools
Improvements and new tools
Since 2020
Infrastructure
Before
Infrastructure
Now
Infrastructure
Now
Infrastructure
Now
Single entry point
Infrastructure
Now
Single entry point
Infrastructure
Now
Single entry point
Build your own
debugger
Infrastructure
Now
Single entry point
Build your own
debugger
Infrastructure
Now
Single entry point Extensible
debugging
strategies
Build your own
debugger
Architectural improvements
Architectural improvements
GUI Model Kernel
Architectural improvements
GUI Model Kernel
Architectural improvements
GUI Model Kernel
Architectural improvements
Architectural improvements
Architectural improvements
Architectural improvements
Architectural improvements
Architectural improvements
Architectural improvements
Architectural improvements
Custom debugging commands
Jump to caret
Custom debugging commands
Jump to caret
Custom debugging commands
Jump to caret
place caret
Custom debugging commands
Jump to caret
place caret
Custom debugging commands
Jump to caret
place caret
jump
Custom debugging commands
Jump to caret
place caret
jump
•More infrastructure improvements
•Emergency debugger
•Meta-Object Protocol
•UX redesign (with Thales)
•Remote debugger
•Documentation
Roadmap
Until ESUG 2024
DEMOS
1 of 44

Recommended

Transferring Software Testing Tools to Practice by
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTao Xie
539 views34 slides
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob... by
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Uma Ghotikar
183 views45 slides
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into... by
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...Ortus Solutions, Corp
1.6K views45 slides
Technical writing by
Technical writingTechnical writing
Technical writingDenny Walthers
673 views15 slides
The Best Kept Secrets of Code Review | SmartBear Webinar by
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarSmartBear
601 views51 slides
Empirical Methods in Software Engineering - an Overview by
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overviewalessio_ferrari
587 views165 slides

More Related Content

Similar to The Pharo Debugger and Debugging tools: Advances and Roadmap

Remote Moderated Usability Testing & Tools by
Remote Moderated Usability Testing & ToolsRemote Moderated Usability Testing & Tools
Remote Moderated Usability Testing & ToolsSusan Price
210 views30 slides
Crowdsourcing for HCI Research with Amazon Mechanical Turk by
Crowdsourcing for HCI Research with Amazon Mechanical TurkCrowdsourcing for HCI Research with Amazon Mechanical Turk
Crowdsourcing for HCI Research with Amazon Mechanical TurkEd Chi
2.1K views45 slides
TLC2018 Thomas Haver: The Science of Testing by
TLC2018 Thomas Haver: The Science of TestingTLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of TestingAnna Royzman
392 views44 slides
Defcon 22-wesley-mc grew-instrumenting-point-of-sale-malware by
Defcon 22-wesley-mc grew-instrumenting-point-of-sale-malwareDefcon 22-wesley-mc grew-instrumenting-point-of-sale-malware
Defcon 22-wesley-mc grew-instrumenting-point-of-sale-malwareDaveEdwards12
1.1K views22 slides
Effective Prototyping Process for Software Creation by
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationJonathan Arnowitz
8.9K views63 slides
Get the most out of getting out of the building by
Get the most out of getting out of the buildingGet the most out of getting out of the building
Get the most out of getting out of the buildingTodd Warren
995 views14 slides

Similar to The Pharo Debugger and Debugging tools: Advances and Roadmap(20)

Remote Moderated Usability Testing & Tools by Susan Price
Remote Moderated Usability Testing & ToolsRemote Moderated Usability Testing & Tools
Remote Moderated Usability Testing & Tools
Susan Price210 views
Crowdsourcing for HCI Research with Amazon Mechanical Turk by Ed Chi
Crowdsourcing for HCI Research with Amazon Mechanical TurkCrowdsourcing for HCI Research with Amazon Mechanical Turk
Crowdsourcing for HCI Research with Amazon Mechanical Turk
Ed Chi2.1K views
TLC2018 Thomas Haver: The Science of Testing by Anna Royzman
TLC2018 Thomas Haver: The Science of TestingTLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of Testing
Anna Royzman392 views
Defcon 22-wesley-mc grew-instrumenting-point-of-sale-malware by DaveEdwards12
Defcon 22-wesley-mc grew-instrumenting-point-of-sale-malwareDefcon 22-wesley-mc grew-instrumenting-point-of-sale-malware
Defcon 22-wesley-mc grew-instrumenting-point-of-sale-malware
DaveEdwards121.1K views
Effective Prototyping Process for Software Creation by Jonathan Arnowitz
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software Creation
Jonathan Arnowitz8.9K views
Get the most out of getting out of the building by Todd Warren
Get the most out of getting out of the buildingGet the most out of getting out of the building
Get the most out of getting out of the building
Todd Warren995 views
SIGCOMM '16 Outrageous Opinion by Marco Canini by Marco Canini
SIGCOMM '16 Outrageous Opinion by Marco CaniniSIGCOMM '16 Outrageous Opinion by Marco Canini
SIGCOMM '16 Outrageous Opinion by Marco Canini
Marco Canini891 views
See to believe: capturing insights using contextual inquiry by Deirdre Costello
See to believe: capturing insights using contextual inquirySee to believe: capturing insights using contextual inquiry
See to believe: capturing insights using contextual inquiry
Deirdre Costello384 views
Guerilla Human Computer Interaction and Customer Based Design by Quentin Christensen
Guerilla Human Computer Interaction and Customer Based DesignGuerilla Human Computer Interaction and Customer Based Design
Guerilla Human Computer Interaction and Customer Based Design
Abcd iqs ssoftware-projects-mercecrosas by Merce Crosas
Abcd iqs ssoftware-projects-mercecrosasAbcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosas
Merce Crosas296 views
Exploratory Testing Explained by TechWell
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
TechWell1.6K views
Getting Started with Architecture Decision Records by Michael Keeling
Getting Started with Architecture Decision RecordsGetting Started with Architecture Decision Records
Getting Started with Architecture Decision Records
Michael Keeling789 views
How to Do User Research in Agile Teams - Nearsoft + Atlassian by Nearsoft
How to Do User Research in Agile Teams - Nearsoft + AtlassianHow to Do User Research in Agile Teams - Nearsoft + Atlassian
How to Do User Research in Agile Teams - Nearsoft + Atlassian
Nearsoft579 views
Code reviews: a short introduction by FreekDB
Code reviews: a short introductionCode reviews: a short introduction
Code reviews: a short introduction
FreekDB1K views
Test Strategy-The real silver bullet in testing by Matthew Eakin by QA or the Highway
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
QA or the Highway439 views
Live Conversation: Connecting with customers in real time by UserTesting
Live Conversation: Connecting with customers in real timeLive Conversation: Connecting with customers in real time
Live Conversation: Connecting with customers in real time
UserTesting223 views
 Towards Reproducible Data Analysis Using Cloud and Container Technologies by inside-BigData.com
 Towards Reproducible Data Analysis Using Cloud and Container Technologies Towards Reproducible Data Analysis Using Cloud and Container Technologies
 Towards Reproducible Data Analysis Using Cloud and Container Technologies
inside-BigData.com308 views
Remote research uxpa talk by Gavin Fung
Remote research uxpa talkRemote research uxpa talk
Remote research uxpa talk
Gavin Fung18 views
Keeping ontology development Agile by robertstevens65
Keeping ontology development AgileKeeping ontology development Agile
Keeping ontology development Agile
robertstevens65429 views

More from ESUG

Workshop: Identifying concept inventories in agile programming by
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
12 views16 slides
Technical documentation support in Pharo by
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
49 views39 slides
Sequence: Pipeline modelling in Pharo by
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
87 views22 slides
Migration process from monolithic to micro frontend architecture in mobile ap... by
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
23 views35 slides
Analyzing Dart Language with Pharo: Report and early results by
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
108 views30 slides
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6 by
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
39 views35 slides

More from ESUG(20)

Workshop: Identifying concept inventories in agile programming by ESUG
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG12 views
Technical documentation support in Pharo by ESUG
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
ESUG49 views
Sequence: Pipeline modelling in Pharo by ESUG
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG87 views
Migration process from monolithic to micro frontend architecture in mobile ap... by ESUG
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG23 views
Analyzing Dart Language with Pharo: Report and early results by ESUG
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG108 views
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6 by ESUG
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG39 views
A Unit Test Metamodel for Test Generation by ESUG
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG54 views
Creating Unit Tests Using Genetic Programming by ESUG
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG49 views
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes by ESUG
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG52 views
Exploring GitHub Actions through EGAD: An Experience Report by ESUG
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG17 views
Pharo: a reflective language A first systematic analysis of reflective APIs by ESUG
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG58 views
Garbage Collector Tuning by ESUG
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
ESUG20 views
Improving Performance Through Object Lifetime Profiling: the DataFrame Case by ESUG
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG43 views
Pharo DataFrame: Past, Present, and Future by ESUG
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG43 views
thisContext in the Debugger by ESUG
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
ESUG36 views
Websockets for Fencing Score by ESUG
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
ESUG18 views
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript by ESUG
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG46 views
Advanced Object- Oriented Design Mooc by ESUG
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG85 views
A New Architecture Reconciling Refactorings and Transformations by ESUG
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG28 views
BioSmalltalk by ESUG
BioSmalltalkBioSmalltalk
BioSmalltalk
ESUG415 views

Recently uploaded

Chat GPTs by
Chat GPTsChat GPTs
Chat GPTsGene Leybzon
13 views36 slides
Flask-Python by
Flask-PythonFlask-Python
Flask-PythonTriloki Gupta
10 views12 slides
Mobile App Development Company by
Mobile App Development CompanyMobile App Development Company
Mobile App Development CompanyRichestsoft
5 views6 slides
Introduction to Gradle by
Introduction to GradleIntroduction to Gradle
Introduction to GradleJohn Valentino
7 views7 slides
How to build dyanmic dashboards and ensure they always work by
How to build dyanmic dashboards and ensure they always workHow to build dyanmic dashboards and ensure they always work
How to build dyanmic dashboards and ensure they always workWiiisdom
16 views13 slides
Understanding HTML terminology by
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminologyartembondar5
8 views8 slides

Recently uploaded(20)

Mobile App Development Company by Richestsoft
Mobile App Development CompanyMobile App Development Company
Mobile App Development Company
Richestsoft 5 views
How to build dyanmic dashboards and ensure they always work by Wiiisdom
How to build dyanmic dashboards and ensure they always workHow to build dyanmic dashboards and ensure they always work
How to build dyanmic dashboards and ensure they always work
Wiiisdom16 views
Understanding HTML terminology by artembondar5
Understanding HTML terminologyUnderstanding HTML terminology
Understanding HTML terminology
artembondar58 views
How Workforce Management Software Empowers SMEs | TraQSuite by TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuiteHow Workforce Management Software Empowers SMEs | TraQSuite
How Workforce Management Software Empowers SMEs | TraQSuite
TraQSuite7 views
aATP - New Correlation Confirmation Feature.pptx by EsatEsenek1
aATP - New Correlation Confirmation Feature.pptxaATP - New Correlation Confirmation Feature.pptx
aATP - New Correlation Confirmation Feature.pptx
EsatEsenek1222 views
Supercharging your Python Development Environment with VS Code and Dev Contai... by Dawn Wages
Supercharging your Python Development Environment with VS Code and Dev Contai...Supercharging your Python Development Environment with VS Code and Dev Contai...
Supercharging your Python Development Environment with VS Code and Dev Contai...
Dawn Wages5 views
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan8 views
predicting-m3-devopsconMunich-2023.pptx by Tier1 app
predicting-m3-devopsconMunich-2023.pptxpredicting-m3-devopsconMunich-2023.pptx
predicting-m3-devopsconMunich-2023.pptx
Tier1 app10 views
JioEngage_Presentation.pptx by admin125455
JioEngage_Presentation.pptxJioEngage_Presentation.pptx
JioEngage_Presentation.pptx
admin1254559 views
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P... by NimaTorabi2
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
Unlocking the Power of AI in Product Management - A Comprehensive Guide for P...
NimaTorabi217 views
Top-5-production-devconMunich-2023-v2.pptx by Tier1 app
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
Tier1 app9 views
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile... by Stefan Wolpers
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
How To Make Your Plans Suck Less — Maarten Dalmijn at the 57th Hands-on Agile...
Stefan Wolpers44 views

The Pharo Debugger and Debugging tools: Advances and Roadmap