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


There has been considerable work in empowering end users to be able to write their own programs, and as a result, users are indeed doing so. In fact, the number of end-user programmers in the United States is expected to reach more then 13 million by 2012, as compared to only 3 million professional programmers. The "programming" systems used by these end users include spreadsheet systems, web authoring tools, and graphical languages for demonstrating the desired behavior of educational simulations. Using such systems, end users create software, in forms such as educational simulations, spreadsheets, and dynamic e-business web applications.

Unfortunately, however, errors are pervasive in end-user software, and the resulting impact is sometimes enormous. When the software end users create is not dependable, there can be serious consequences for the people whose retirement funds, credit histories, e-business revenues, and even health and safety rely on decisions made based on that software.

To address this problem, we propose a fundamental paradigm shift to a new way of thinking about the way end users create software. Our intent is to address the following research question:

Is it possible to bring the benefits of rigorous software engineering methodologies to end users?

We do not propose to transform end users into engineers. Rather, our plan is to enable systems to create software to collaborate with those users, in a software development paradigm that combines traditionally separate functions -- blending specification, design, implementation, component integration, debugging, testing, and maintenance into tightly integrated, highly interactive environments. These environments will employ new, incremental, feedback devices supported by analysis and inferential reasoning to help the user reason about the dependability of their software as they work with it, in a manner that respects the user's problem-solving directions to an extent unprecedented in existing software development environments.

The paradigm shift we envision cannot be achieved in a piecemeal way, because it is not just a programming languages or software engineering or HCI or education problem. Thus, the proposed work integrates the work of software engineering researchers with expertise in applying program analysis techniques to tasks in software development and validation, programming language researchers with expertise in designing efficient algorithms for analyzing and reasoning about programs, experts in educational issues to consider how people learn about computer tasks and to consider the theory and realities of K-12 education, human-computer interaction experts specializing in end-user programming, and empiricists to evaluate emerging results and to help understand fundamental issues in the human problem-solving aspects of the research.

Our research approach emphasizes continuous evaluation. Among the evaluation devices planned are theoretical and laboratory-based evaluation of human effectiveness and efficiency, theoretical and laboratory-based evaluation of algorithm effectiveness and efficiency, field evaluation through collaboration with educational outreach partners, and feedback through idea exchange with our European collaborators.

With respect to intellectual merit, this research will advance knowledge and understanding by providing new approaches, for use in end-user programming systems, for improving the dependability of software. The PIs are well qualified for the work, as documented in the body of the proposal. This will be the first research to rigorously consider the problem of dependability in end-user programming. The research considers technical problems such as devising multiple ways to help reason about correctness, and also brings findings from psychology and educational theory to bear on issues of motivation and gradual software engineering skill improvement. Contributions will include:

  • Technologies by which end users and their software environments can collaborate to detect, correct, and prevent dependability problems.
  • New information about fundamental issues that arise in end-user software.
  • New integration of educational research and applications with end-user software dependability.

With respect to broader impacts, the research itself spans multiple areas. Over half of the researchers involved are members of underrepresented groups, and many have strong track records in mentoring students who are members of underrepresented groups. The research is also tightly coupled with practical education and education research, involving K-12 experiences, high-school student researchers, and advances for K-12 teachers to take back to their classrooms. Within these efforts there are special focuses on technology education gender issues and on providing experiences for minority and rural students. Finally, and most important, this project impacts the 55 million end-user programmers in our country who, through the use of end-user programming devices, are creating software everyday that is, unfortunately, not very dependable.


This work has been funded in part by the EUSES Consortium via the National Science Foundation (ITR-0325273). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

We welcome the opportunity to collaborate with other organizations on this work. If you are interested in pursuing this, please contact one of the Principal Investigators.


Home    About EUSES    News & Events    Research    Education    Publications    Resources    People    Contact 
Last Updated on September 19, 2013
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