SlideShare a Scribd company logo
1 of 58
Download to read offline
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

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Detecting and Visualizing Inter-worksheet Smells in Spreadsheets