Overview - Topes in end user software engineering research


As the software industry continues to mature, typical business software problems have become more cut-and-dried. Customers sense that many problems have been solved before, and they rightly ask why solutions continue to cost so much (and, perhaps, why the implementations still contain defects). This customer demand for inexpensive custom solutions is one factor fueling the growth of end user programming tools in the past few decades. End users can meet their own needs by using these tools to create spreadsheets, databases, web applications, and other software.

However, most tools only allow users to work with data primitives that the tool developer chose in advance to support, and tool developers' notion of what primitives are useful never entirely match users'. When users need to validate or manipulate semi-structured data that the tool developer did not anticipate (such as part numbers, social security numbers, and city/state names), then end-user programming tools typically represent this data as plain "strings." This hides the semantics of the data, limiting users' effectiveness with the tools.

My likely thesis topic in Carnegie Mellon's software engineering PhD program develops a new user-extensible model for semi-structured data items. Each "tope" within this model defines how to recognize a kind of data item based on format and context, and how to transform that kind of item among a family of valid formats. To show the usefulness of this model, we will provide an environment to help end user software programmers to create, share, and apply topes, enabling these users to quickly implement data validation and reformatting functionality. We expect that these enhancements will help end users produce higher quality software.

The string is a stark data structure and everywhere it is passed there is much duplication of process. It is a perfect vehicle for hiding information. --A. Perlis

Professor Mary Shaw is my official advisor in the Institute for Software Research, International, though I regularly meet with Professor Brad Myers of the Human-Computer Interaction Institute.

 

This is my end user software engineering site. Looking for the computer science (CS GRE) practice test and study guide?

Web page copyright (C) 2004-2008 Christopher Scaffidi, All Rights Reserved. All software is copyrighted and is distributed under a BSD-like license and an IRB-approved study.