Seattle, WA 98195
Play Gidget, our new debugging game!
New NSF project! Variations to Support Exploratory Programming
Tweets by @andyjko
Many spreadsheet systems allow users to specify units with their data (e.g. 5 lbs.) in order to help users detect errors (some of which cost millions of dollars). Slate is the first to allow users to specify the object of measurement (e.g., 5 lbs. of apples), in addition. By intelligently propagating labels representing these objects, Slate helps users identify errors in their spreadsheets that other spreadsheet systems can't.
For example, 1 lb. apples + 1 lb. oranges = 2 lb. fruit. The system knows that apples and oranges are both kinds of fruit, and displays this new object of measurement in the result of the calculation. The user can then see that this generalization has been made. If the user had actually meant to add apples to apples, the unexpected generalization to "fruit" serves as a warning to the user that there may be an error.
In the example below, a user tried to calculate the revenue for oranges. However, instead of multiplying pounds of oranges by the price per pound of oranges, the user accidentally multiplied pounds of oranges by the price per pound of apples. The label (apples, oranges) in cell B6, automatically generated based on the labels of the other cells, draws attention to the error.
Coblenz, M. J., Ko, A. J., and Myers. B. A. (2005). Using Objects of Measurement to Detect Spreadsheet Errors. VL/HCC 2005, Dallas, Texas, September 23-26.