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.



Guetzli Makes JPEGs Smaller

There is a lot of flexibility in how you can configure a JPEG file to best represent an image. Now Google's Guetzli can find optimum settings and so produce files that are up to 45% than other encoder [ ... ]

//No Comment - Trojan of Things, Disk LEDs Leak Data & So Do Phone Magnetometers

• Trojan of Things: Embedding Malicious NFC Tags into Common Objects 

• LED-it-GO: Leaking (a lot of) Data from Air-Gapped Computers via the (small) Hard Drive LED

• Mobile Phone Identifi [ ... ]

More News

Last Updated ( Friday, 06 April 2012 )

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