Tool Support for Data Validation by End-User Programmers
Date of Original Version
This work was funded in part by the EUSES Consortium via NSF (ITR-0325273) and by NSF under Grants CCF-0438929 and CCF-0613823. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author and do not necessarily reflect the views of the sponsors.
Abstract or Description
End-user programming tools for creating spreadsheets and webforms
offer no data types except “string” for storing many kinds of
data, such as person names and street addresses. Consequently,
these tools cannot automatically validate these data.
To address this problem, we have developed a new userextensible
model for string-like data. Each “tope” in this model is
a user-defined abstraction that guides the interpretation of strings
as a particular kind of data, such as a mailing address. Specifically,
each tope implementation contains software functions for
recognizing and reformatting that tope’s kind of data.
With our tools, end-user programmers define new topes and associate
them with fields in spreadsheets, webforms, and other programs.
This makes it possible at runtime to distinguish between
invalid data, valid data, and questionable data that could be valid
or invalid. Once identified, questionable and/or invalid data can
be double-checked and possibly corrected, thereby increasing the
overall reliability of the data.