Cambridge Journals Online

Cambridge Journals Online
Skip to content
Journal of Functional Programming (2006), 16: 293-325 Cambridge University Press
Copyright © 2005 Cambridge University Press
doi:10.1017/S0956796805005794
Published online by Cambridge University Press 16 Nov 2005


Article

Gencel: a program generator for correct spreadsheets 1


MARTIN ERWIG a1, ROBIN ABRAHAM a1, STEVE KOLLMANSBERGER a1 and IRENE COOPERSTEIN a2 2
a1 School of EECS, Oregon State University, OR, USA (e-mail: erwig@eecs.oregonstate.edu, abraharo@eecs.oregonstate.edu, kollmast@eecs.oregonstate.edu)
a2 Department of CS, University of Houston, Houston, TX, USA (e-mail: Irene.Cooperstein@mail.uh.edu)

Article author query
erwig m   [Google Scholar
abraham r   [Google Scholar
kollmansberger s   [Google Scholar
cooperstein i   [Google Scholar
 

Abstract

A huge discrepancy between theory and practice exists in one popular application area of functional programming – spreadsheets. Although spreadsheets are the most frequently used (functional) programs, they fall short of the quality level that is expected of functional programs, which is evidenced by the fact that existing spreadsheets contain many errors, some of which have serious impacts. We have developed a template specification language that allows the definition of spreadsheet templates that describe possible spreadsheet evolutions. This language is based on a table calculus that formally captures the process of creating and modifying spreadsheets. We have developed a type system for this calculus that can prevent type, reference, and omission errors from occurring in spreadsheets. On the basis of the table calculus we have developed Gencel, a system for generating reliable spreadsheets. We have implemented a prototype version of Gencel as an extension of Excel.



Footnotes

1 This work is partially supported by the National Science Foundation under the grant ITR-0325273 and by the EUSES Consortium (http://EUSESconsortium.org).

2 The work of Irene Cooperstein was performed at Oregon State University during summer 2004 as part of the CRA-W Distributed Mentor Project.



Cambridge University Press