i-nth logo


Margaret Burnett, Curtis Cook, Omkar Pendse, Gregg Rothermel, Jay Summet, & Chris Wallace


There has been little research on end-user program development beyond the activity of programming.

Devising ways to address additional activities related to end-user program development may be critical, however, because research shows that a large proportion of the programs written by end users contain faults. Toward this end, we have been working on ways to provide formal "software engineering" methodologies to end-user programmers.

This paper describes an approach we have developed for supporting assertions in end-user software, focusing on the spreadsheet paradigm.

We also report the results of a controlled experiment, with 59 end-user subjects, to investigate the usefulness of this approach. Our results show that the end users were able to use the assertions to reason about their spreadsheets, and that doing so was tied to both greater correctness and greater efficiency.


Two (conflicting) assertions 'and'ed on the same cell
Two (conflicting) assertions 'and'ed on the same cell

The graphical concrete syntax supports all of the abstract syntax.

A thick dot is a data point in an ordinal domain; it implements "=". The thick horizontal lines are ranges in the domain, implementing "to-closed" when connected to dots.


2003, International Conference on Software Engineering, May, pages 93-103

Full article

End-user software engineering with assertions in the spreadsheet paradigm