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
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
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
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
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
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
We validated our implementation with a
case study
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
“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
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
The owner immediately recognized the
risk
Conclusion: principles from software
engineering transfer well to spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing Inter-worksheet Smells in Spreadsheets
Detecting and Visualizing
Inter-worksheet Smells in Spreadsheets
Felienne Hermans (@felienne)

More Related Content

PPTX
Improving Spreadsheet Test Practices
PPTX
Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...
PPTX
Spreadsheets for developers
PPTX
Spreadsheets are code
PDF
An overview of my PhD research
PPTX
Putting the science in computer science
PPTX
Small, simple and smelly: What we can learn from examining end-user artifacts?
PDF
Functional Programming in Excel
Improving Spreadsheet Test Practices
Spreadsheets are graphs too: Using Neo4J as backend to store spreadsheet info...
Spreadsheets for developers
Spreadsheets are code
An overview of my PhD research
Putting the science in computer science
Small, simple and smelly: What we can learn from examining end-user artifacts?
Functional Programming in Excel

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

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

More from Felienne Hermans (11)

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

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Machine learning based COVID-19 study performance prediction
MYSQL Presentation for SQL database connectivity
Chapter 3 Spatial Domain Image Processing.pdf
cuic standard and advanced reporting.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
NewMind AI Weekly Chronicles - August'25-Week II
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Programs and apps: productivity, graphics, security and other tools
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Network Security Unit 5.pdf for BCA BBA.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
MIND Revenue Release Quarter 2 2025 Press Release
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
A comparative analysis of optical character recognition models for extracting...
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
Machine learning based COVID-19 study performance prediction

Detecting and Visualizing Inter-worksheet Smells in Spreadsheets