SlideShare a Scribd company logo
Detecting and Visualizing
Inter-worksheet Smells in Spreadsheets
Felienne Hermans (@felienne)
Code smells
How did we get this idea?
By studying what business does in
practice
Excel is running companies!
50% of spreadsheets form the basis for
decisions
Spreadsheet users lack great tool
support
We did not start coding!
We performed 27 interviews
We asked them:
What annoys you?
And what makes you happy?
We found that especially support for
understanding spreadsheets was missing
Then we started coding
Published at ICSE 2011
Users started diagnosing with the dfd’s
This led us to the idea of smells
We took Fowler’s smells and adapted
them to be applicable on spreadsheets
Inappropriate Intimacy
Inappropriate Intimacy
Inappropriate Intimacy
= number of couples between A and B
Feature Envy
Feature Envy
Feature Envy (calculated on a cell)
=number of external connections
Middle man
Middle man
Middle man
Middle man
= number of MMFs on a worksheet
Shotgun surgery
Shotgun surgery
Shotgun surgery
=number of changing sheets and formulas
Then we set thresholds for the metrics
Using the EUSES corpus as a bench mark
And
implemented
it into our
visualization
toolkit Breviz
We validated our implementation with a
case study
“Are those worksheets really that
connected?”
“Are you sure that arrow is correct?”
“this formula annoys me, I have to go
back to the other sheet so many times to
look up the references, it makes me dizzy”
Interesting fact about Middle Man:
Our definition was ‘wrong’
We had not anticipated Middle Men
within worksheets
The most extreme case was a worksheet
on which 220 formulas depended, spread
over 10 worksheets
The owner immediately recognized the
risk
Conclusion: principles from software
engineering transfer well to spreadsheets
Detecting and Visualizing
Inter-worksheet Smells in Spreadsheets
Felienne Hermans (@felienne)

More Related Content

Similar to Detecting and Visualizing Inter-worksheet Smells in Spreadsheets

The Challenges of Affect Detection in the Social Programmer Ecosystem
The Challenges of Affect Detection in the Social Programmer EcosystemThe Challenges of Affect Detection in the Social Programmer Ecosystem
The Challenges of Affect Detection in the Social Programmer Ecosystem
Nicole Novielli
 
Demystifying Comps
Demystifying CompsDemystifying Comps
Demystifying Comps
Xue Xing
 
Outline & Research Design RoadmapThis exercise will help you bui.docx
Outline & Research Design RoadmapThis exercise will help you bui.docxOutline & Research Design RoadmapThis exercise will help you bui.docx
Outline & Research Design RoadmapThis exercise will help you bui.docx
alfred4lewis58146
 
Analysis on techniques used to recognize and identifying the Human emotions
Analysis on techniques used to recognize and identifying  the Human emotions Analysis on techniques used to recognize and identifying  the Human emotions
Analysis on techniques used to recognize and identifying the Human emotions
IJECEIAES
 
Q6) Do you have ability to control your feeling while trying to so.docx
Q6) Do you have ability to control your feeling while trying to so.docxQ6) Do you have ability to control your feeling while trying to so.docx
Q6) Do you have ability to control your feeling while trying to so.docx
makdul
 
Running head REFLECTION 1REFLECTIO.docx
Running head REFLECTION              1REFLECTIO.docxRunning head REFLECTION              1REFLECTIO.docx
Running head REFLECTION 1REFLECTIO.docx
charisellington63520
 

Similar to Detecting and Visualizing Inter-worksheet Smells in Spreadsheets (17)

The Challenges of Affect Detection in the Social Programmer Ecosystem
The Challenges of Affect Detection in the Social Programmer EcosystemThe Challenges of Affect Detection in the Social Programmer Ecosystem
The Challenges of Affect Detection in the Social Programmer Ecosystem
 
Opponents' questions from doctoral defense of Yue Dai
Opponents' questions from doctoral defense of Yue DaiOpponents' questions from doctoral defense of Yue Dai
Opponents' questions from doctoral defense of Yue Dai
 
26 Nonverbal Communication In The Workplace
26 Nonverbal Communication In The Workplace26 Nonverbal Communication In The Workplace
26 Nonverbal Communication In The Workplace
 
Silent Interaction: Healthcare UX,지금 우리가 질문해야 할 몇 가지
 Silent Interaction: Healthcare UX,지금 우리가 질문해야 할 몇 가지 Silent Interaction: Healthcare UX,지금 우리가 질문해야 할 몇 가지
Silent Interaction: Healthcare UX,지금 우리가 질문해야 할 몇 가지
 
Manual stella ist
Manual stella istManual stella ist
Manual stella ist
 
Demystifying Comps
Demystifying CompsDemystifying Comps
Demystifying Comps
 
Presentation CEBMa EBM Case example: Novartis
Presentation CEBMa EBM Case example: NovartisPresentation CEBMa EBM Case example: Novartis
Presentation CEBMa EBM Case example: Novartis
 
To Label or Not? Advances and Open Challenges in SE-specific Sentiment Analysis
To Label or Not? Advances and Open Challenges in SE-specific Sentiment AnalysisTo Label or Not? Advances and Open Challenges in SE-specific Sentiment Analysis
To Label or Not? Advances and Open Challenges in SE-specific Sentiment Analysis
 
Outline & Research Design RoadmapThis exercise will help you bui.docx
Outline & Research Design RoadmapThis exercise will help you bui.docxOutline & Research Design RoadmapThis exercise will help you bui.docx
Outline & Research Design RoadmapThis exercise will help you bui.docx
 
Analysis on techniques used to recognize and identifying the Human emotions
Analysis on techniques used to recognize and identifying  the Human emotions Analysis on techniques used to recognize and identifying  the Human emotions
Analysis on techniques used to recognize and identifying the Human emotions
 
Q6) Do you have ability to control your feeling while trying to so.docx
Q6) Do you have ability to control your feeling while trying to so.docxQ6) Do you have ability to control your feeling while trying to so.docx
Q6) Do you have ability to control your feeling while trying to so.docx
 
EMOTIONS AND MOODS.ppt
EMOTIONS AND MOODS.pptEMOTIONS AND MOODS.ppt
EMOTIONS AND MOODS.ppt
 
Emotions of Facebook Data
Emotions of Facebook DataEmotions of Facebook Data
Emotions of Facebook Data
 
Lab 01 report
Lab 01 reportLab 01 report
Lab 01 report
 
Experience and evidence
Experience and evidenceExperience and evidence
Experience and evidence
 
Running head REFLECTION 1REFLECTIO.docx
Running head REFLECTION              1REFLECTIO.docxRunning head REFLECTION              1REFLECTIO.docx
Running head REFLECTION 1REFLECTIO.docx
 
With 4 sentences 75% of the people will hear and understand you with 8 - 10...
With 4 sentences 75% of the people will hear and understand you   with 8 - 10...With 4 sentences 75% of the people will hear and understand you   with 8 - 10...
With 4 sentences 75% of the people will hear and understand you with 8 - 10...
 

More from Felienne Hermans

Do Code Smell Hamper Novice Programmers?
Do Code Smell Hamper Novice Programmers?Do Code Smell Hamper Novice Programmers?
Do Code Smell Hamper Novice Programmers?
Felienne Hermans
 

More from Felienne Hermans (11)

Using F# and genetic programming to play computer bridge
Using F# and genetic programming to play computer bridgeUsing F# and genetic programming to play computer bridge
Using F# and genetic programming to play computer bridge
 
How does code sound?
How does code sound?How does code sound?
How does code sound?
 
Programming is logical reasoning?
Programming is logical reasoning?Programming is logical reasoning?
Programming is logical reasoning?
 
Do Code Smell Hamper Novice Programmers?
Do Code Smell Hamper Novice Programmers?Do Code Smell Hamper Novice Programmers?
Do Code Smell Hamper Novice Programmers?
 
Programming by Calculation
Programming by CalculationProgramming by Calculation
Programming by Calculation
 
A board game night with geeks: attacking Quarto ties with SAT solvers
A board game night with geeks: attacking Quarto ties with SAT solversA board game night with geeks: attacking Quarto ties with SAT solvers
A board game night with geeks: attacking Quarto ties with SAT solvers
 
Presenting: structure story and support
Presenting: structure story and supportPresenting: structure story and support
Presenting: structure story and support
 
Social media for the busy scientist
Social media for the busy scientistSocial media for the busy scientist
Social media for the busy scientist
 
Spreadsheet Testing
Spreadsheet TestingSpreadsheet Testing
Spreadsheet Testing
 
TEDxDelft
TEDxDelftTEDxDelft
TEDxDelft
 
The power of symmetry
The power of symmetryThe power of symmetry
The power of symmetry
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

Detecting and Visualizing Inter-worksheet Smells in Spreadsheets