Gencel: a program generator for correct spreadsheets

  • Authors:
  • Martin Erwig;Robin Abraham;Steve Kollmansberger;Irene Cooperstein

  • Affiliations:
  • School of EECS, Oregon State University, OR, USA (e-mail: erwig@eecs.oregonstate.edu, abraharo@eecs.oregonstate.edu, kollmast@eecs.oregonstate.edu);School of EECS, Oregon State University, OR, USA (e-mail: erwig@eecs.oregonstate.edu, abraharo@eecs.oregonstate.edu, kollmast@eecs.oregonstate.edu);School of EECS, Oregon State University, OR, USA (e-mail: erwig@eecs.oregonstate.edu, abraharo@eecs.oregonstate.edu, kollmast@eecs.oregonstate.edu);Department of CS, University of Houston, Houston, TX, USA (e-mail: Irene.Cooperstein@mail.uh.edu)

  • Venue:
  • Journal of Functional Programming
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

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.