Jonathan Aldrich says: “I am working on a project which has the potential to revolutionize software development.”

 Jonathan Aldrich

The demand for greater computer processing speeds is driving manufacturers to pack two, four or more processors into new computer chips, creating headaches for computer programmers that Carnegie Mellon|Portugal researchers believe they can relieve. The result could revolutionize the way software is developed.

Software engineers have long written computer programs sequentially, compiling a list of instructions that follow one after the other, said Jonathan Aldrich, associate professor in Carnegie Mellon’s Institute for Software Research and director of the software engineering minor. But to take full advantage of the new multicore chips, programmers need to find ways to divide up their instructions so that multiple processors can work concurrently to complete a task.

“Concurrent programming is much, much more difficult than sequential programming,” Aldrich said.

Programmers who continue to focus on what each processor is doing and on all of the potential interference that can occur as processors work on problems in parallel quickly become overwhelmed. “It’s just too much information for simple-minded humans to keep in their heads,” he added with a laugh.
So Aldrich and Paulo Marques of the University of Coimbra are working together on an ambitious new programming paradigm that they call “concurrency by default.” Rather than worry about the order in which their commands are executed, software engineers using this approach could simply specify in their code what computations need to be performed; the lower level task of assigning tasks for either sequential or concurrent processing would be handled automatically.
“It’s an idea that Paulo and I came up with together,” Aldrich said, nothing that both had done extensive research on formal methods for verifying software designs that underlie the “concurrency by default” approach.
“This collaborative research is some of the most exciting of my career.” They will present a paper on the new approach at the Onward! 2009 software engineering conference in Orlando, FL, in October.
Aldrich and Marques co-advise Sven Stork, who just finished his first year in the joint Carnegie Mellon|Portugal Computer Science/Software Engineering Ph.D. Program. Aldrich visited Coimbra in July to meet with Marques and also visited Lisbon, where he is beginning collaborative work with Luis Caires at the Universidade Nova de Lisboa.