Overview - Topes in end user software engineering research
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.
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.