Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Workshop on Software Engineering Foundations for End-User Programming (SEEUP) 2009

End-user programming (EUP) describes the practice where end users write computer programs to satisfy a specific need, where the end-user programmers have not necessarily been taught how to write code in conventional programming languages. End-user programming using shell scripts and Excel spreadsheets that allow users to quickly automate tasks specific to their needs has been around for a while. However, the advent of the Internet, and the recent explosion in the availability of web technologies, has provided more ways for end users to author programs (such as JavaScript and Flash), and made it much easier for end users to share and use other people’s software. 

While there are substantial potential benefits of end-user programming, it is important to recognize the software engineering discipline that needs to be in place to enable such flexibility, and to protect against the potential problems that can arise from such flexibility.  For example, end-user programming on the Web has vastly increased the use of shared code and shared data, at the risk being exposed to code and data of poor quality which might even be malicious. Businesses are more and more seeing and understanding the impact of errors in end-user programs on their businesses and would benefit from a greater discipline.

The goal of the SEEUP workshop was to discuss end-user programming with a specific focus on the software engineering that is required to make it a more disciplined process, while still shielding the end user from the complexities of greater discipline.

The workshop had 23 attendees from both industry and academia. It was co-located with the 31st International Conference on Software Engineering (ICSE 2009) and was held on May 23, 2009 in Vancouver, Canada.

After the different presentations, there was a brainstorming of topics for deeper discussion and two were selected:

  • Experiences/Examples of Multiple User Creation of End-User Engineered Software
  • How to Shape EUP Frameworks to Produce Better Software

The workshop summary will be published in ACM/SIGSOFT Software Engineering Notes. Details of the workshop, including the invited talks, will be published as an SEI Special Report.