End User Programming

End User Programming for Cyber-Physical Systems

Two trends are converging that will shape the future of computing. First, due to the growth in number and diversity of programmable devices, end-users (i.e., those not trained as programmers) are increasingly becoming de facto programmers, configuring and commanding their own systems. Second, computing is now interacting with the physical world, as consumer robotics and home automation are becoming commonplace. In this new context, where end-users program cyber-physical systems, both the programming languages they use to specify programs and the programming tools that help them avoid common mistakes will become vital to their productivity, security, and safety.

Our research strategy is to apply the hard-won lessons from traditional software engineering research to end-user programming, making improvements upon the relevant tools and languages, ultimately making end-user programs more robust, secure and easier-to-write.

Projects will include:

Interested? Contact Prof. David Shepherd (shepherdd@vcu.edu) or Dr. Kostadin Damevski (kdamevski@vcu.edu)