Kale: A Transformation-Safe Spreadsheet System
Kale is a prototype spreadsheet system that prevents a specific, under-studied class of spreadsheet bugs by restricting the references formulas may use. The paper argues that traditional spreadsheet references (e.g. SUM(B2:C3)) are unstable under structural changes: when a user inserts a row, sorts a table, or drags cells, formulas silently change what data they refer to. The authors call this reference instability and catalog five distinct risks (R1–R5), from ambiguous range-insertion semantics to names not following sorted data.
Kale's fix is to make the dangerous references inexpressible. Formulas may reference single cells, whole columns, or whole rows — never arbitrary rectangular ranges or partial spans. Absolute references are resolved to unique row IDs so they survive insertion, deletion, and permutation; relative references are redefined to mean "same offset" rather than the traditional copy/paste-only distinction. The result is a preservation guarantee: formulas keep referring to the same data through structural transformations.
The evidence is threefold. A preliminary survey found users answer reference-transformation questions at a ~47% success rate. A 25-participant between-subjects study (Google Sheets vs. Kale) found Kale eliminated risk-related errors present in 50–83% of Sheets participants for risks R1, R2, and R4, without significant cost to overall correctness or speed. A corpus study manually ported 60 EUSES spreadsheets to Kale, all successfully, in a mean of 18 minutes each — suggesting the restrictions are not a practical barrier. The authors frame Kale as a design exploration: a first step into the space of spreadsheets that guarantee safety by constraining what can be said, rather than detecting errors after the fact.