Validating the unit correctness of spreadsheet programs
Context sensitive computations in a spreadsheet application are disclosed.
In some embodiments, semantics with respect to various spreadsheet operations are specified for each of a plurality of number formats in a spreadsheet application.
The semantics associated with a particular number format specify behavior for values of that number format with respect to various spreadsheet operations.
Some existing spreadsheet applications support only two data types: strings and numbers.
A format type may be associated with a particular type of measurement or quantity and may support one or more acceptable units for representing the quantity.In such cases, for example, a computation such as “*” results in a value of 0.125 since the durations and are internally represented as 0.5 and 0.25, respectively.Furthermore, some existing spreadsheet applications execute mixed unit computations for some number formats without taking all of the units specified in a computation into consideration while still outputting a unit-based result.Although in some of the examples described herein the cells of a spreadsheet application are organized into such table objects, the techniques described herein may be similarly employed with respect to other cell configurations or organizations, such as the (seemingly) infinite single grid or table of cells in each sheet of some typical spreadsheet applications that includes an unlimited (or very large) number of rows and columns of cells.Although many of the examples provided herein are with respect to a spreadsheet application, the techniques described herein may be similarly employed with respect to any application, spreadsheet or otherwise.