There are few things as maddening as being in the middle of a task on a computer, and having the software freeze up on you. This can be particularly enraging if you haven’t backed up your work recently, and you know that the only way of “thawing out” the program will be to execute a force quit – your work will be lost, all because the (insert word of your choice here) computer didn’t know what to do next. Fortunately, however, researchers from MIT’s Computer Science and Artificial Intelligence Laboratory have developed a tool that jolts stalled programs back into action.
Programs commonly contain thousands of loops, that allow the computer to perform the same task over and over, such as systematically comparing each letter in a document to those in a search term. Should there be a slight error in the code, however, the computer can get stuck in an infinite loop, performing the exact same function indefinitely – it could keep comparing the same letter, for instance, instead of moving on to the next one.
In order to get computers out of infinite loops, MIT computer science professor Martin Rinard and his graduate students Michael Carbin, Sasa Misailovic and Michael Kling have created a software tool that is appropriately named Jolt. When activated by a user who thinks their computer might have frozen up, Jolt takes a series of “snapshots” of the computer’s memory after each run of a loop. If all of those snapshots are identical, then the machine is indeed stuck in an infinite loop. Jolt then instructs the computer to move on to the next instruction within the program.