The $10 Million Computer-Assisted Programming Project
The $10 Million Computer-Assisted Programming Project
Written by Alex Armstrong   
Thursday, 05 April 2012

No you didn't read the headline incorrectly. Programming gets very little help from the computers we program. Now there is a big project to see what can be achieved.


The University of Pennsylvania will lead a $10 Million National Science Foundation project, involving a range of other institutions, called ExCAPE - Expeditions in Computer Augmented Program Engineering. The team will be led by Rajeev Alur, professor of computer and information science, who said:

“Computers have evolved at a dramatic pace, but the technology that's used to develop programs and software is evolving comparatively slowly,

What it means to ‘code’ hasn't changed much in the last 20 to 30 years. It's still done by expert programmers and is quite time-consuming, expensive and error-prone.”

This much is obvious to any practicing programmer, but what the team hope to do is to create a toolkit that will work with the programming to help create and verify a program. One of the areas that will be explored is robotics which, being based in the physical world and having lots of constraints that are not built into current programming languages, has a good chance of good results.  The example given by Alur is of trying to park a robot car:

"The programmer can start by specifying high-level goals, such as the final desired car position and the requirement that there should be no collisions along the way.

The synthesis tool can therefore start with the strategies provided by the coder, then explore different combinations for the tricky parts, automatically filling in the details with the best possible values to produce a complete program,”

Another area they hope to have success with is network flow management and its applications to multicore parallel programming.



The aim is to produce a range of design tools that let end users program robots by demonstrating example behaviors, and that provide assistance for expert programmers to meet challenges in multicore programming.

There have been projects that have attempted to replace programmers completely, but the idea of just trying to help guide their logic seems much more attainable. In this case the restricted domains of study also seem to be easier to formalize. Mathematical systems such as Mathematica, Maple and Alpha can already help with planning problems and goal seeking.

One thing is 100% certain - programmers need better tools and not just new languages.

More Information


Related Articles

A Better Way To Program






or email your comment to:


To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Google+, Twitter, Linkedin or Facebook or sign up for our weekly newsletter.



Apple Launches JavaScript Map Kit

Apple has released a beta version of a JavaScript library for working with interactive maps on web pages. MapKit JS provides map rendering that is optimized for various browsers and devices, and suppo [ ... ]

Serialization Will Go From Java - Sometime

Mark Reinhold has told attendees of the DevoxxUK conference that Oracle does have a long term goal to remove serialization from the language, but just when is less clear.

More News

Last Updated ( Friday, 06 April 2012 )

RSS feed of news items only
I Programmer News
Copyright © 2018 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.