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 von 44

Recomendados

Transferring Software Testing Tools to Practice von
Transferring Software Testing Tools to PracticeTransferring Software Testing Tools to Practice
Transferring Software Testing Tools to PracticeTao Xie
539 views34 Folien
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob... von
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 Folien
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into... von
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 Folien
Technical writing von
Technical writingTechnical writing
Technical writingDenny Walthers
673 views15 Folien
The Best Kept Secrets of Code Review | SmartBear Webinar von
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 Folien
Empirical Methods in Software Engineering - an Overview von
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overviewalessio_ferrari
584 views165 Folien

Más contenido relacionado

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

Remote Moderated Usability Testing & Tools von
Remote Moderated Usability Testing & ToolsRemote Moderated Usability Testing & Tools
Remote Moderated Usability Testing & ToolsSusan Price
210 views30 Folien
Crowdsourcing for HCI Research with Amazon Mechanical Turk von
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 Folien
TLC2018 Thomas Haver: The Science of Testing von
TLC2018 Thomas Haver: The Science of TestingTLC2018 Thomas Haver: The Science of Testing
TLC2018 Thomas Haver: The Science of TestingAnna Royzman
392 views44 Folien
Defcon 22-wesley-mc grew-instrumenting-point-of-sale-malware von
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 Folien
Effective Prototyping Process for Software Creation von
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationJonathan Arnowitz
8.9K views63 Folien
Get the most out of getting out of the building von
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 Folien

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

Remote Moderated Usability Testing & Tools von 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 von 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 von 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 von 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 von 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 von 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 von 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 von 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 von 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 von Merce Crosas
Abcd iqs ssoftware-projects-mercecrosasAbcd iqs ssoftware-projects-mercecrosas
Abcd iqs ssoftware-projects-mercecrosas
Merce Crosas296 views
Exploratory Testing Explained von TechWell
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
TechWell1.6K views
Getting Started with Architecture Decision Records von Michael Keeling
Getting Started with Architecture Decision RecordsGetting Started with Architecture Decision Records
Getting Started with Architecture Decision Records
Michael Keeling777 views
How to Do User Research in Agile Teams - Nearsoft + Atlassian von 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 von 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 von 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 von 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 von 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 von Gavin Fung
Remote research uxpa talkRemote research uxpa talk
Remote research uxpa talk
Gavin Fung18 views
Keeping ontology development Agile von robertstevens65
Keeping ontology development AgileKeeping ontology development Agile
Keeping ontology development Agile
robertstevens65429 views

Más de ESUG

Workshop: Identifying concept inventories in agile programming von
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
9 views16 Folien
Technical documentation support in Pharo von
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
27 views39 Folien
Sequence: Pipeline modelling in Pharo von
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
86 views22 Folien
Migration process from monolithic to micro frontend architecture in mobile ap... von
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
19 views35 Folien
Analyzing Dart Language with Pharo: Report and early results von
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
106 views30 Folien
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6 von
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
37 views35 Folien

Más de ESUG(20)

Workshop: Identifying concept inventories in agile programming von ESUG
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG9 views
Technical documentation support in Pharo von ESUG
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
ESUG27 views
Sequence: Pipeline modelling in Pharo von ESUG
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG86 views
Migration process from monolithic to micro frontend architecture in mobile ap... von 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...
ESUG19 views
Analyzing Dart Language with Pharo: Report and early results von 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
ESUG106 views
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6 von 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
ESUG37 views
A Unit Test Metamodel for Test Generation von ESUG
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG49 views
Creating Unit Tests Using Genetic Programming von ESUG
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG46 views
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes von 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 von 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 von 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
ESUG57 views
Garbage Collector Tuning von ESUG
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
ESUG20 views
Improving Performance Through Object Lifetime Profiling: the DataFrame Case von 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 von ESUG
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG43 views
thisContext in the Debugger von ESUG
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
ESUG36 views
Websockets for Fencing Score von ESUG
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
ESUG18 views
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript von 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 von ESUG
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG85 views
A New Architecture Reconciling Refactorings and Transformations von ESUG
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG28 views
BioSmalltalk von ESUG
BioSmalltalkBioSmalltalk
BioSmalltalk
ESUG415 views

Último

HarshithAkkapelli_Presentation.pdf von
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdfharshithakkapelli
11 views16 Folien
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... von
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...Deltares
9 views26 Folien
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... von
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...Deltares
9 views32 Folien
Headless JS UG Presentation.pptx von
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptxJack Spektor
7 views24 Folien
A first look at MariaDB 11.x features and ideas on how to use them von
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use themFederico Razzoli
45 views36 Folien
El Arte de lo Possible von
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo PossibleNeo4j
38 views35 Folien

Último(20)

DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... von Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... von Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares9 views
Headless JS UG Presentation.pptx von Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
A first look at MariaDB 11.x features and ideas on how to use them von Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
El Arte de lo Possible von Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j38 views
What Can Employee Monitoring Software Do?​ von wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere21 views
360 graden fabriek von info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349224 views
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon von Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares13 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs von Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares7 views
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... von Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri711 views
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... von HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... von Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
Software testing company in India.pptx von SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 views
Cycleops - Automate deployments on top of bare metal.pptx von Thanassis Parathyras
Cycleops - Automate deployments on top of bare metal.pptxCycleops - Automate deployments on top of bare metal.pptx
Cycleops - Automate deployments on top of bare metal.pptx

The Pharo Debugger and Debugging tools: Advances and Roadmap