Self-Checking Spreadsheets: Recognition of Semantics

Abstract This paper demonstrates a self-checking (self-validating) spreadsheet. This checking analyzes the meaning or semantics of the spreadsheet's variables and equations using a parsing scheme. These semantics go beyond dimension, unit, and type checking to include the physical and mathematical formulae that dominate science, engineering, and mathematics. The spreadsheet is a client, JavaScript web application working with a server application. Entries in the spreadsheet are analyzed by semantic parsers on the server, and the representation and recognition of spreadsheet semantics are detailed. The intent of this prototype is to reduce the errors—errors in meaning—that commonly occur when spreadsheets are used. A prototype has been available on the Internet since early 2010 at http://semantics.grc.nasa.gov/cgi-bin/spread.cgi.

[1]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

[2]  R S Lord Rayleigh Sec.,et al.  VIII. On the question of the stability of the flow of fluids , 1892 .

[3]  Friedrich L. Bauer,et al.  Revised report on the algorithm language ALGOL 60 , 1963, CACM.

[4]  Geoffrey K. Pullum,et al.  Natural languages and context-free languages , 1982 .

[5]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1959, Commun. ACM.

[6]  Mark E. M. Stewart,et al.  An experiment in automated, scientific-code semantic analysis , 1999 .

[7]  E. Buckingham On Physically Similar Systems; Illustrations of the Use of Dimensional Equations , 1914 .

[8]  Donald E. Knuth,et al.  On the Translation of Languages from Left to Right , 1965, Inf. Control..

[9]  Andrew Kennedy,et al.  Relational parametricity and units of measure , 1997, POPL '97.

[10]  Franklin L. DeRemer,et al.  Simple LR(k) grammars , 1971, Commun. ACM.

[11]  John William Strutt,et al.  On the Question of the Stability of the Flow of Fluids , 2009 .

[12]  Margaret M. Burnett,et al.  Adding Apples and Oranges , 2002, PADL.

[13]  Alaa A. Kharbouch,et al.  Three models for the description of language , 1956, IRE Trans. Inf. Theory.

[14]  J. W. Backus,et al.  The FORTRAN automatic coding system , 1899, IRE-AIEE-ACM '57 (Western).

[15]  Shriram Krishnamurthi,et al.  A type system for statically detecting spreadsheet errors , 2003, 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings..