Spreadsheets are code

6,282 views
6,358 views

Published on

I have said it before, and I'll say it again: Spreadsheets are code. This talk explains why and discusses the implications.

Spreadsheets are code

  1. 1. Spreadsheets are code Felienne Hermans (@felienne)
  2. 2. Spreadsheets are code Felienne Hermans (@felienne) In this slidedeck I explain whyy spreadsheets are code, and what we can do with that idea.
  3. 3. Spreadsheets are mislabeled
  4. 4. Spreadsheets are mislabeled People often think of spreadsheets as data, but...
  5. 5. Spreadsheets are code
  6. 6. Spreadsheets are code I have made it my life’s work to spread the happy word “Spreadsheets are code!”
  7. 7. Spreadsheets are code I have made it my life’s work to spread the happy word “Spreadsheets are code!” If you don’t immediately believe me, I have three reasons* * If you do believe me, skip the next 10 slides ;)
  8. 8. 1) Used for similar problems
  9. 9. This tool (for stock price computation) could have been built in any language. C, JavaScript, COBOL, or Excel. The problems Excel is used for are often (not always) similar to problems solved in different languages.
  10. 10. 2) Formulas are Turing complete
  11. 11. 2) Formulas are Turing complete I go to great lengths to make my point. To such great lengths that I built a Turing machine in Excel, using formulas only.
  12. 12. Here you see it in action. Every row is an consecutive step of the lint. This makes it, in addition to a proof that formulas are Turing complete, Also a nice visualization of a Turing machine.
  13. 13. 3) They suffer from the same problems
  14. 14. 3) They suffer from the same problems
  15. 15. 3) They suffer from the same problems
  16. 16. 3) They suffer from the same problems
  17. 17. In summary: both the activities, complexity and problems are the same
  18. 18. So if spreadsheets are code, can we apply software engineering methods?
  19. 19. In software, tools have been created to help programmers understand code
  20. 20. Speadsheets however, lack support for testing, refactoring and code analysis.
  21. 21. My goals is to bring those tools to spreadsheets
  22. 22. In my dissertation, I defined smells for spreadsheet formulas
  23. 23. www.felienne.com/publications In my dissertation, I defined smells for spreadsheet formulas
  24. 24. If you say smells
  25. 25. If you say smells, you say refactoring
  26. 26. So, we built BumbleBee: a refactoring tool for spreadsheets
  27. 27. So, we built BumbleBee: a refactoring tool for spreadsheets
  28. 28. You can download BumbleBee from my website (felienne.com/BumbleBee)
  29. 29. The transformations are entirely programmable, with a small language
  30. 30. And of course, if you say refactoring, you say …
  31. 31. And of course, if you say refactoring, you say testing
  32. 32. Spreadsheets tests are hiding in plain sight
  33. 33. These test formulas are common, and they can be exploited
  34. 34. Our tool Expector can find test formulas
  35. 35. Expector helps users to understand robustness of their spreadsheets
  36. 36. Also available: felienne.com/Expector
  37. 37. Thanks for viewing the slides for Spreadsheets: are code! Want to know more? • Visit my sites  felienne.com  spreadsheetlab.org • Send a tweet  @felienne • Send an email mail@felienne.com

×