Using topes to validate and reformat data in end-user programming tools

  • Authors:
  • Christopher Scaffidi;Allen Cypher;Sebastian Elbaum;Andhy Koesnandar;James Lin;Brad Myers;Mary Shaw

  • Affiliations:
  • Carnegie Mellon University, Pittsburgh, PA, USA;IBM, Almaden, CA, USA;University of Nebraska - Lin oln, Lincoln, NE, USA;University of Nebraska - Lincoln, Lincoln, NE, USA;IBM, Almaden, CA, USA;Carnegie Mellon University, Pittsburgh, PA, USA;Carnegie Mellon University, Pittsburgh, PA, USA

  • Venue:
  • Proceedings of the 4th international workshop on End-user software engineering
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

End-user programming tools offer no data types except "string" for many categories of data, such as person names and street addresses. Consequently, these tools cannot automatically validate or reformat these data. To address this problem, we have developed a user-extensible 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. Specifically, each tope implementation contains software functions for recognizing and reformatting instances of that tope's kind of data. 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. Valid data can be automatically reformatted to any of the formats appropriate for that kind of data. To show the general applicability of topes, we describe new features that topes have enabled us to provide in four tools.