EUSES Logoskip to page content Intranet Login »
Home    About EUSES    News & Events    Research    Education    Publications    Resources    People    Contact 


The EUSES Consortium is a collaboration by researchers at Oregon State University, Carnegie Mellon University, Drexel University, Penn State University, University of Nebraska, and Cambridge University whose goal is to develop and investigate technologies for enabling End Users to Shape Effective Software.

Motivating End Users to be Effective

  • Burnett: Surprise-Explain-Reward strategy to harness users' curiosity and help them discover useful approaches, Information Foraging Theory to help user's find information most effectively, Gender Studies to help explain and solve gender differences in technology and Machine Learning Debugging to effectively help the user solve problems with the assistance of machine learned programs.
  • Rosson: Real situations & communities to help end-user programmers
  • Wiedenbeck & Burnett: Gender differences in end-user software engineering and improving end-user software to support both genders.
  • Blackwell: Model of attention investment: How users decide to use programming features
  • Cypher: Programming by demonstration and end-user programming.
  • Jensen: Advancing understanding of how computer systems affect decision-making

Devices to Increase End User Effectiveness

  • Myers: Empirical studies about software development and productivity tools to help with debugging, editing, design and task management.
  • Erwig: Unit inference in spreadsheets: When is it legal to add apples and oranges?
  • Burnett, Rothermel, Cook: End-User Software Engineering project
  • Shaw: Helping end users create, share, and use data abstractions to improve programs' quality
  • Elbaum: Fault detection in web software through statistical, heuristic, machine learning
  • Niess, Wortmann: Developing teachers' technology pedagogical content knowledge: preparing teachers to guide their students in designing dependable spreadsheets/software applications while also encouraging them to use technology as a learning tool within a context of a quality-control culture.

Constituent Technologies

This project builds on and contributes to our work on the following constituent technologies:

Screen Shots from EUSES Projects

Yahoo! Pipes
(see papers co-authored by Kathryn Stolee )
(Click for full-sized image)

The word 'mashup' may bring to mind references to the popular television show, GLEE, in which two or more songs or rhythms are combined to create a more interesting, catchier tune. In fact, this same concept is being applied to the web, where thousands of end users are remixing data sources to create more interesting and relevant data for use by themselves and their communities.

Imagine reading news from the New York Times,, CBS, and MSNBC, where the articles only interest you, and you never have to switch to a different website. Or imagine searching for a new house using only one website that aggregates data from every realtor in your area onto one map. That's the power of a mashup.

Mashup programming environments are popping up to help end users to create mashups that tailor and individualize data streams. This means that the power of creation is in the hands of the end user. However, the mashups created by end users are often littered with errors and deficiencies that can make them error-prone and hard to understand. Further, users often 'reinvent the wheel' by creating mashups that have the same functionality as mashups created by other users.

We have designed techniques to simplify the structures of mashups and make them easier to understand, as can be shown by the mashups in the figures below, which were built in the Yahoo! Pipes environment. A more understandable and simpler structure, such as the mashup shown on the right, can lead to increased reuse and protect against common errors from external components, such as websites that no longer exist.

We have designed a tool prototype (grey bar at the bottom of the images) that identifies common errors in the mashup being viewed or created by a user and automatically restructures the mashup to address the issues. Our techniques can be applied to many environments that have the structure of a 'pipe-like mashup' where there are many data sources that create an output. Our study results show that the new mashups are easier for users to understand, easier to maintain, and more preferable among end users.

For more information, including more screenshots and sample code, contact Sebastian Elbaum or Kathryn Stolee at the University of Nebraska-Lincoln.

(see papers authored by Chris Scaffidi )
(Click for full-sized image)

When we say "spreadsheet", we often think of users doing calculations. But, in fact, many people just use spreadsheets as a place to organize and store textual data like phone numbers and university room numbers. These same kinds of data show up in many end-user programs, including web applications created through Visual Studio Express Edition or web macros created through CoScripter.

These textual strings often contain typos and other errors. For example, "KED 1148" isn't a valid university room number that should be "KEC 1148". Excel doesn't even recognize that phone numbers never end with "11". Since Excel and other tools don't know about these domain-specific kinds of data, they can't find the errors.

So we decided to teach Excel some new tricks--or, more specifically, we provided a new data model that ordinary end users can use to teach Excel about domain-specific data.

This new data model is called "topes", and it not only describes how to find typos, but it also enables end users to automatically reformat data. For example, given a tope for university room numbers, Excel could quickly reformat thousands of strings like "KEC 1148" so that they look like "Kelley Engineering Center 1148".

Once a user has taught Excel how to recognize a new kind of data, the model can be saved and loaded into other end-user programming tools so that they, too, can "speak the user's language". For example, we have worked with IBM to integrate topes into a new programming tool called Vegemite that enables users to rapidly download and manipulate data from the web. We are now working with two other companies who want to integrate topes into decision-support software in 2010.

For more information, including more screenshots and sample code, contact Chris Scaffidi at Oregon State University.

End-User Software Engineering & WYSIWYT applied to spreadsheets
(see papers co-authored by Burnett, Cook, and/or Rothermel.)
(Click for full-sized image)
WYSIWYT testing screen The WYSIWYT (What You See is What You Test) testing approach. Cell borders reflect the "testedness" of cells. Users indicate "testing decisions" by placing checkmarks.
Fault localization support in the WYSIWYT Fault localization support in the WYSIWYT approach. Cell interiors indicate all cells that might contain errors, with darker colors corresponding to increased likelihood. This feedback is triggered when the user notices bad values.
Assertions "guard" the values in cells Assertions "guard" the values in cells. User-entered assertions are propagated through the spreadsheet as system assertions. These system assertions are compared with user-entered assertions. Conflicting assertions indicate the presence of errors, and are circled. Values outside assertion ranges are also circled.

The "Whyline" System
(see papers co-authored by Myers and Ko)
(click for full-sized image)
The Whyline's answer to a question The Whyline's answer to a question. The programmer expected Pac to resize when Pac touched the Ghost, but the resize didn't seem to happen. The programmer asked, 'Why didn't Pac resize 0?' and the Whyline revealed that the resize did in fact happen, but had no effect on-screen. This helped the programmer isolate the problem to the resize statement and ignore other parts of the code that were correct.

The "UCheck" System
(see papers co-authored by Erwig)
(click for full-sized image)
The UCheck System The UCheck system can automatically detect errors in spreadsheet formulas by reasoning about the units of values in the spreadsheet. The unit information is automatically inferred from labels and headers that are contained in a spreadsheet, which allows communication about errors with the user's vocabulary.

The "ViTSL/Gencel" System
(see papers co-authored by Erwig)
(click for full-sized image)
The ViTSL/Gencel System The ViTSL/Gencel system is based on the idea to anticipate the possible evolutions of a spreadsheet and capture a class of spreadsheets in a template. A program generator will then create an initial spreadsheet together with customized update operations for such a template. These customized update operations allow users to edit the created spreadsheet while ensuring that no reference, range, or type errors can be introduced into the spreadsheet.
ViTSL Templates are created with an editor, called ViTSL, which is similar to Excel, but offers additional functionality to specify templates. These templates can then be loaded into the Gencel system, which is implemented as an extension to Excel, and allows the safe, error-free editing of spreadsheets.

Related Research


Home    About EUSES    News & Events    Research    Education    Publications    Resources    People    Contact 
Last Updated on October 12, 2017
Site Designed and Developed by Htet Htet Aung
Oregon State University University of Nebraska Lincoln University of Cambridge IBM STEM Academy Penn State University HCII of Carnegie Mellon University Drexel University University of Washington City University London National Instruments University of Tulsa