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


blog comments powered by Disqus


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.



Pearson Student Coding Contest

Students enter coding contests to help develop their own skills as well as to gain recognition and prizes. If you fancy building an app that can help learners learn you could win up to $5,000 dollars  [ ... ]

Node.js Foundation Releases First Joint Code

Node v4.0.0 is the first code release from the reunited io.js and node.js communities, following last year's fork of the project. The breakaway group returned due to a new governance model under  [ ... ]

More News

Last Updated ( Friday, 06 April 2012 )

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