Computers Get Self-Healing Software

ClearView software is designed to work on multiple computers that are running the same software, as is often the case on large server farms. ClearView monitors the behavior of programs and establishes a set of rules or parameters of normal operation.

When human engineers discover a harmful vulnerability in a piece of software, it takes nearly a month on average for them to come up with a patch for the affected systems, which is then sent out to all the connected devices (according to a report issued by security company Symantec in 2006). Researchers collaborated with a startup called Determina on the work, hoping that the new software, ClearView, will speed this process up, making software significantly more resilient against failure or attack.

ClearView works without assistance from humans and without access to a program's underlying source code (an often proprietary set of instructions that defines how a piece of software will behave). Instead, the system monitors the behavior of a binary: the form the program takes in order to execute instructions on a computer's hardware.

Once it determines that a software intrusion has taken place, it identifies which operational rule the target program is violating. ClearView then applies a software patch focused on the particular problem and then tests to see if a solution has been effected.

Most impressively, it then applies that patch to all of the other instances of the software running on different machines, "inoculating" them against intrusion. According to MIT's Technology Review:

"To test the system, the researchers installed ClearView on a group of computers running Firefox and hired an independent team to attack the Web browser. The hostile team used 10 different attack methods, each of which involved injecting some malicious code into Firefox. ClearView successfully blocked all of the would-be attacks by detecting misbehavior and terminating the application before the attack could have its intended effect. The very first time ClearView encounters an exploit it closes the program and begins analyzing the binary, searching for a patch that could have stopped the error."

"For seven of the attacking team's approaches, ClearView created patches that corrected the underlying errors. In all cases, it discarded corrections that had negative side effects. On average, ClearView came up with a successful patch within about five minutes of its first exposure to an attack."

"'What this research is leading us to believe is that software isn't in itself inherently fragile and brittle because of errors,' says Rinard. 'It's fragile and brittle because people are afraid to let the software continue if they think there's something wrong with it.' Some software engineering approaches, such as "failure-oblivious computing" or "acceptable computing," share this philosophy."

I was pretty sure that I had read about this idea a long time ago, and sure enough, the City Fathers from James Blish's excellent 1957 series Cities in Flight oversaw each others work and prevented error and damage. The City Fathers were a set of artificially intelligent computer systems that oversaw operations for an entire city that had used the spindizzy to seek work among the stars.

It's easy to think that because the City Fathers are dead, they're also stupid… Otherwise they would never be given the power they wield - and in some departments their power is absolute. Suppose they had a breakdown? If there were only a few of them, that would be a real danger; but there are more than a hundred, and they monitor and repair each other, so in fact it will never happen. Sanity and logic is their stock in trade.

This Science Fiction in the News story used with permission of Technovelgy.com.

Bill Christensen catalogues the inventions, technology and ideas of science fiction writers at his website, Technovelgy. He is a contributor to Live Science.