{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,26]],"date-time":"2026-03-26T14:00:26Z","timestamp":1774533626703,"version":"3.50.1"},"edition-number":"1","reference-count":50,"publisher":"Wiley","isbn-type":[{"value":"9780471383932","type":"print"},{"value":"9780470050118","type":"electronic"}],"license":[{"start":{"date-parts":[[2009,3,16]],"date-time":"2009-03-16T00:00:00Z","timestamp":1237161600000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/doi.wiley.com\/10.1002\/tdm_license_1.1"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Spreadsheets are among the most widely used programming systems in the world. Individuals and businesses use spreadsheets for a wide variety of applications, ranging from performing simple calculations to building complex financial models. In this article, we first discuss how spreadsheet programs are actually functional programs. We then describe concepts in spreadsheet programming, followed by a brief history of spreadsheet systems. Widespread use of spreadsheets, coupled with their high error\u2010proneness and the impact of spreadsheet errors, has motivated research into techniques aimed at the prevention, detection, and correction of errors in spreadsheets. We present an overview of research effort that seeks to rectify this problem.<\/jats:p>","DOI":"10.1002\/9780470050118.ecse415","type":"other","created":{"date-parts":[[2009,3,9]],"date-time":"2009-03-09T17:48:02Z","timestamp":1236620882000},"page":"2804-2810","source":"Crossref","is-referenced-by-count":16,"title":["Spreadsheet Programming"],"prefix":"10.1002","author":[{"given":"Robin","family":"Abraham","sequence":"first","affiliation":[]},{"given":"Margaret","family":"Burnett","sequence":"additional","affiliation":[]},{"given":"Martin","family":"Erwig","sequence":"additional","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2009,3,16]]},"reference":[{"key":"e_1_2_7_2_1","unstructured":"R. R.Panko Spreadsheet errors: What we know. what we think we can do Proc. Symp. of the European Spreadsheet Risks Interest Group (EuSpRIG) London UK 2000."},{"key":"e_1_2_7_3_1","doi-asserted-by":"crossref","unstructured":"C.Scaffidi M.Shaw andB.Myers Estimating the numbers of end users and end user programmers Proc. IEEE Symp. on Visual Languages and Human\u2010Centric Computing 2005 pp.207\u2013214.","DOI":"10.1109\/VLHCC.2005.34"},{"key":"e_1_2_7_4_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-4-431-49022-7_63"},{"key":"e_1_2_7_5_1","doi-asserted-by":"crossref","unstructured":"A.AmblerandJ.Leopold Public programming in a web world Proc. Visual Languages and Human\u2010Centric Computing 1998 pp.100\u2013107.","DOI":"10.1109\/VL.1998.706152"},{"issue":"2","key":"e_1_2_7_6_1","doi-asserted-by":"crossref","first-page":"155","DOI":"10.1017\/S0956796800003828","article-title":"Forms\/3: A first\u2010order visual language to explore the boundaries of the spreadsheet paradigm","volume":"11","author":"Burnett M. M.","year":"2001","journal-title":"J. Funct. Prog."},{"key":"e_1_2_7_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/38.689659"},{"key":"e_1_2_7_8_1","doi-asserted-by":"crossref","unstructured":"P. T.Cox Enhancing the programmaility of spreadsheets with logic programming Proc. Visual Languages and Human\u2010Centric Computing 2007 pp.87\u201394.","DOI":"10.1109\/VLHCC.2007.49"},{"key":"e_1_2_7_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.366152"},{"key":"e_1_2_7_10_1","doi-asserted-by":"crossref","unstructured":"A.CypherandD. C.Smith KidSim: End user programming of simulations Proc. Conference Companion on Human Factors in Computing Systems 1995 pp.35\u201336.","DOI":"10.1145\/223355.223414"},{"key":"e_1_2_7_11_1","doi-asserted-by":"crossref","unstructured":"S. L.PeytonJones A.Blackwell andM. M.Burnett A user\u2010centered approach to functions in excel ACM Int. Conf. on Functional Programming 2003 pp.165\u2013176.","DOI":"10.1145\/944746.944721"},{"key":"e_1_2_7_12_1","unstructured":"VisiCalc Available:http:\/\/www.bricklin.com\/visicalc.htm."},{"key":"e_1_2_7_13_1","unstructured":"IBM. Lotus 1\u20102\u20103 Available:http:\/\/www\u2010306.ibm.com\/software\/lotus\/products\/123\/."},{"key":"e_1_2_7_14_1","unstructured":"Lotus. Lotus Improv Available:http:\/\/en.wikipedia.org\/wiki\/Lotus_Improv."},{"key":"e_1_2_7_15_1","unstructured":"Microsoft. Microsoft Excel Available:http:\/\/office.microsoft.com\/excel\/."},{"key":"e_1_2_7_16_1","unstructured":"OpenOffice OpenOffice Calc Available:http:\/\/www.openoffice.org\/product\/calc.html."},{"key":"e_1_2_7_17_1","unstructured":"Google Google Spreadsheets Available:http:\/\/docs.google.com\/."},{"key":"e_1_2_7_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1015864.1015889"},{"key":"e_1_2_7_19_1","unstructured":"P.Sestoft CoreCalc: A spreadsheet core implementation in C# Available:http:\/\/www.itu.dk\/people\/sestoft\/corecalc\/."},{"key":"e_1_2_7_20_1","unstructured":"B.LisperandJ.Malmstrom Haxcel: A spreadsheet interface to haskell Proc. Int. Workshop on the Implementation of Functional Languages 2002 pp.206\u2013222."},{"key":"e_1_2_7_21_1","unstructured":"J.Paine ModelMaster: A tool for spreadsheet intelligibility spreadsheet integrity and spreadsheets on the web Available:http:\/\/www.j\u2010paine.org\/mmpublications .html\/."},{"key":"e_1_2_7_22_1","doi-asserted-by":"crossref","unstructured":"Y.Adachi Intellisheet: A spreadsheet system expanded by including constraint solvers Proc. IEEE Int. Symp. on Human\u2010Centric Computing Languages and Environments 2001 p.173 2001.","DOI":"10.1109\/HCC.2001.995256"},{"key":"e_1_2_7_23_1","unstructured":"EuSpRIG European Spreadsheet Risks Interest Group Available:http:\/\/www.eusprig.org\/."},{"key":"e_1_2_7_24_1","first-page":"2","article-title":"Avoiding costly errors in your spreadsheets","volume":"11","author":"Shaw M.","year":"2004","journal-title":"Contractor's Management Report"},{"issue":"9","key":"e_1_2_7_25_1","first-page":"50","article-title":"Spreadsheet errors and techniques for finding them","volume":"77","author":"Whittaker D.","year":"1999","journal-title":"Management Accounting"},{"key":"e_1_2_7_26_1","first-page":"35","article-title":"A spreadsheet auditing tool evaluated in an industrial context","volume":"3","author":"Clermont M.","year":"2002","journal-title":"Spreadsheet Risks, Audit Develop. Methods"},{"key":"e_1_2_7_27_1","doi-asserted-by":"crossref","unstructured":"R. R.PankoandR. P.Halverson Jr. Spreadsheets on trial: A survey of research on spreadsheet risks Proc. 29th Hawaii Int. Conf. on System Sciences 1996.","DOI":"10.1109\/HICSS.1996.495416"},{"key":"e_1_2_7_28_1","unstructured":"T.TeoandM.Tan Quantitative and qualitative errors in spreadsheet development Proc. 30th Hawaii Int. Conf. on System Sciences 1997 pp.25\u201338."},{"key":"e_1_2_7_29_1","doi-asserted-by":"publisher","DOI":"10.4018\/joeuc.1998040102"},{"key":"e_1_2_7_30_1","unstructured":"D.MasonandD.Keane Spreadsheet modeling in practice: Solution or problem Proc. Interface 1989 pp.82\u201384."},{"key":"e_1_2_7_31_1","article-title":"Spreadsheet standards","author":"Williams T.","year":"1987","journal-title":"Technical Report"},{"issue":"11","key":"e_1_2_7_32_1","first-page":"130","article-title":"How to validate spreadsheets","volume":"180","author":"Simkin M. G.","year":"1987","journal-title":"J. Accountancy"},{"key":"e_1_2_7_33_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0959-8022(99)00006-5"},{"key":"e_1_2_7_34_1","volume-title":"The Art of Modeling with Spreadsheets: Management Science, Spreadsheet Engineering, and Modeling Craft","author":"Powell S. G.","year":"2004"},{"key":"e_1_2_7_35_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-7373(91)90040-E"},{"key":"e_1_2_7_36_1","doi-asserted-by":"publisher","DOI":"10.1080\/07421222.1999.11518250"},{"key":"e_1_2_7_37_1","volume-title":"Spreadsheets in Science and Engineering","author":"Filby G.","year":"1995"},{"key":"e_1_2_7_38_1","doi-asserted-by":"publisher","DOI":"10.1006\/jvlc.1999.0142"},{"key":"e_1_2_7_39_1","unstructured":"T.Igarashi J.Mackinlay B.\u2010W.Chang andP. T.Zelleweger Fluid visualization of spreadsheet structures Proc. IEEE Symp. on Visual Languages 1998."},{"key":"e_1_2_7_40_1","doi-asserted-by":"crossref","unstructured":"R.Abraham M.Erwig S.Kollmansberger andE.Seifert Visual specifications of correct spreadsheets Proc. IEEE Int. Symp. on Visual Languages and Human\u2010Centric Computing 2005 pp.189\u2013196.","DOI":"10.1109\/VLHCC.2005.70"},{"key":"e_1_2_7_41_1","doi-asserted-by":"crossref","unstructured":"G.EngelsandM.Erwig ClassSheets: Automatic generation of spreadsheet applications from object\u2010oriented specifications Proc. 20th IEEE\/ACM Int. Conf. on Automated Software Engineering 2005 pp.124\u2013133.","DOI":"10.1145\/1101908.1101929"},{"key":"e_1_2_7_42_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796805005794"},{"key":"e_1_2_7_43_1","doi-asserted-by":"crossref","unstructured":"R.AbrahamandM.Erwig Inferring templates from spreadsheets Proc. 28th IEEE Int. Conf. on Software Engineering 2006 pp.182\u2013191.","DOI":"10.1145\/1134285.1134312"},{"key":"e_1_2_7_44_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jvlc.2006.06.001"},{"key":"e_1_2_7_45_1","doi-asserted-by":"crossref","unstructured":"Y.Ahmad T.Antoniu S.Goldwater andS.Krishnamurthi A type system for statically detecting spreadsheet errors Proc. 18th IEEE Int. Conf. on Automated Software Engineering 2003 pp.174\u2013183.","DOI":"10.1109\/ASE.2003.1240305"},{"key":"e_1_2_7_46_1","doi-asserted-by":"crossref","unstructured":"T.Antoniu P. A.Steckler S.Krishnamurthi E.Neuwirth andM.Felleisen Validating the unit correctness of spreadsheet programs Proc. 26th IEEE Int. Conf. on Software Engineering 2004 pp.439\u2013148.","DOI":"10.1109\/ICSE.2004.1317466"},{"key":"e_1_2_7_47_1","unstructured":"G.Tassey The economic impacts of inadequate infrastructure for software testing National Institute of Standards and Technology Planning Report RTI Project Number 7007.011 2002."},{"key":"e_1_2_7_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/366378.366385"},{"key":"e_1_2_7_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1131421.1131423"},{"key":"e_1_2_7_50_1","doi-asserted-by":"crossref","unstructured":"R.AbrahamandM.Erwig AutoTest: A tool for automatic test case generation in spreadsheets Proc. IEEE Int. Symp. on Visual Languages and Human\u2010Centric Computing 2006 pp.43\u201350.","DOI":"10.1109\/VLHCC.2006.11"},{"key":"e_1_2_7_51_1","doi-asserted-by":"crossref","unstructured":"R.AbrahamandM.Erwig GoalDebug: A spreadsheet debugger for end users Proc. 29th IEEE Int. Conf. on Software Engineering 2007 pp.251\u2013260.","DOI":"10.1109\/ICSE.2007.39"}],"container-title":["Wiley Encyclopedia of Computer Science and Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/9780470050118.ecse415","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,2,8]],"date-time":"2025-02-08T03:13:48Z","timestamp":1738984428000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/9780470050118.ecse415"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,3,16]]},"ISBN":["9780471383932","9780470050118"],"references-count":50,"alternative-id":["10.1002\/9780470050118.ecse415","10.1002\/9780470050118"],"URL":"https:\/\/doi.org\/10.1002\/9780470050118.ecse415","archive":["Portico"],"relation":{},"subject":[],"published":{"date-parts":[[2009,3,16]]}}}