This story originally appeared in WCVE- Science Matters, Public Radio, Richmond.
The US government is spending 3.2 million dollars for research on this self-healing software program that could be a key element in our defense.
Weimer: Certainly this isn't the sort of research where we're making weapons directly, but defense from cyber attacks is very important.
UVA computer scientist Westley Weimer is part of a research group working on what they call “evolvable software.”
Weimer: One area is that future soldiers or war fighters or whatnot, are often carrying a surprising number of electronic devices, things like I-pads or I-phones to link them up to command and control or to survey the situation, and you can see some of this in the civilian world today; firefighters might come equipped with sensors that would allow them to find their way out of a burning building or whatnot. We really want to make sure that, if you're using an electronic device in order to help you carry out mission objectives, that if it's attacked or disrupted in some way, that we can keep it going just long enough to complete the mission.
They are using human biology as a model, the same kind of coding that enables the body to heal itself, to create a software that learns and adapts.
Weimer: Virus detection software, Windows firewall, might sort of notice problems, but they don't repair them. I would say the very key, the biggest difference, is that we're not just detecting a problem in your software, we're gonna give you a patch. We're gonna give you a repair. We're going to grow you back a new arm that doesn't have that problem.
Are we working towards the day when there might be another life-form besides carbon-based?
Weimer: Wow, so I'm not quite sure I would want to go that far, but we have given it some thought. We're certainly creating programs that create new programs, but there's no notion of self-reflection; as it currently stands, we still have to guide these tools. "I want you to repair this particular problem," so in that sense, it's more like a very amazing saw or a very amazing hammer, where instead of you having to lift it up over and over again, you can just say, "oh, I want you to build a boat or a doghouse or whatnot, or I want you to fix this problem in my car" and it will do so. But once that task is done, it stops.
We have not, in any sense, sort of turned our tools on themselves or sort of otherwise asked to create a program that's just somehow generically smarter. I'm not even certain how that would go. I think in the past, you know, the sixties and the eighties, computer scientists or some branches of them, made a lot of promises about AI, especially people with MIT, and those did not come to fruition.
In ancient mythology, Icarus crashed when he flew too close to the sun and it melted the wax he used to fashion his wings. We have always worried about knowing too much and soaring too high.
Weimer: If Windows crashes, that's kind of annoying, but if your heart or your airplane crashes, that's really, really bad, and we might want to be able to consider techniques like these to sort of keep these programs running as long as possible, to keep your heart beating or to keep the airplane in the sky. Now the use of this sort of automated program technique, or automated program repair technique, in mission-critical or dependable systems, is still a long way off, but we see the potential benefits of being able to keep systems like that available and secure and always running, as sort of outweighing this sort of vague, light fear on the horizon that something bad might come of it.
UVA computer scientist Westley Weimer, who is working with a group under a three-million dollar defense contract to develop software that can learn to heal itself.