CSL student's error-detection system takes home William C. Carter Award
It took only five minutes for Karthik Pattabiraman’s new error-detection system to locate a potentially catastrophic error in an aircraft collision avoidance program. But when
Pattabiraman’s system is called SymPLIFIED, and it has earned him the prestigious 2008 William C. Carter Award, given each year to individuals who have “made a significant contribution to the field of dependable computing through his or her graduate dissertation research.”
According to Pattabiraman, SymPLIFIED is a general-purpose framework that can pinpoint the failure of detectors, which are built into programs to find errors. What’s more, he says that his system examines entire classes of errors, not just single-point errors, as is done with traditional fault-injection methods. With traditional methods, you inject faults and trace their trajectory through a system. But there’s always the lingering question: What if you do not inject the specific faults that could reveal problems in your program?
Pattabiraman uses the analogy of shooting at a target in a dark room. Fault injection is like bombarding the room with bullets in the hopes that one of them will strike the target. In contrast, SymPLIFIED is like casting a wide beam across the dark room, revealing a whole class of targets -- an entire class of errors.
But SymPLIFIED does not just identify what kind of errors the detectors in a program failed to detect; it also reveals why they failed to detect the errors, he says.
SymPLIFIED was run on the Trusted ILLIAC cluster and tested on the aircraft avoidance system, which tells a pilot whether to ascend, descend or maintain altitude when approaching another aircraft. This test demonstrated the potential for the SymPLIFIED system to be used in critical industries. Pattabiraman envisions that such a system could be used in medical, aerospace, chemical or nuclear industries, where single errors might have catastrophic consequences.
Pattabiraman grew up in India and received his first exposure to computers when he saw a BBC Micro computer in the third grade. In high school, he joined the computer club and developed his own program, similar to Paintbrush; and from that point on, he was hooked on high-tech.
After graduating from the University of Madras with a bachelor’s degree in information technology, Pattabiraman came to the University of Illinois, where he completed his master’s degree in computer science in 2004. He then joined CSL and is expected to complete his PhD in computer science by August of 2008.
His SymPLIFIED tool uses model checking, a fairly standard technique. What makes his system unique is that he is using model checking to analyze the effect of hardware errors on software. Previously, model checking has been used to look at the effects of hardware errors on hardware or software errors on software.
In the next stage of the work, Pattabiraman hopes to scale up his system for use on larger programs. And he would like the system to be able to do more than expose detector failures; he would like it to be able to patch errors automatically.
Working with Pattabiraman on this project were three CSL professors -- Nithin Nakka, Zbigniew Kalbarczyk and his advisor, CSL Director Ravi Iyer. In fact, Iyer was the one who first inspired him to tackle this work for his dissertation.
“Initially, I thought I don’t want to do this mathematical-intensive work,” Pattabiraman says. “I was more of a hands-on, systems-building kind of a person, rather than one to work on theoretical abstractions. But I really enjoyed this.
“Besides,” he adds, “although this system has theoretical abstraction at its core, it is a working system.”
Pattabiraman will receive the William C. Carter Award in June at the 38th Annual IEEE/IFIP International Conference on Dependable Systems and Networks in Anchorage, Alaska.