Researchers at the University of Michigan believe they have solved the problems of software deadlocks – the Catch-22s of the computer world.

Deadlocks are common bugs that freeze machines when different parts of a program grind to a halt in an endless cycle of waiting for one another as they access shared data.
To eliminate the problem the US researchers have developed a new controller called Gadara, which they claim can anticipate and prevent situations that might cause deadlock.
The Gadara plug-in uses feedback techniques similar to those found in cruise control in cars and thermostats in heating systems.
“This is a totally different approach to what people have done before for deadlock,” says Stéphane Lafortune, a professor in the Department of Electrical Engineering and Computer Science and a Gadara developer.
“Previously, engineers would try to identify potential deadlocks through testing or program analysis and then go back and rewrite the program. The bug fixes were manual, and not automatic. Gadara automates the process.”
Deadlock is becoming a more pressing concern as multicore chips grow in complexity and software performs an increasing number of tasks simultaneously. The bug often shows up in parallel programs that use shared data, but Gadara analyses a program to find potential deadlocks, and then inserts control logic to ensure the program cannot deadlock.
As well as solving problems during initial programming, the researchers say the new tool could also help companies tweak legacy software without having to call in the original software creator.
“Every time you find a problem today you need the original programmer to solve it,” says Yin Wang, a doctoral student on the project. “The goal of Gadara is to allow anyone with our tool to solve the problem.”
Disclaimer: Some pages on this site may include an affiliate link. This does not effect our editorial in any way.