Debugging Pervasive Systems
Through the miniaturization of computing devices and their economic deflation, pervasive computing is becoming a reality. However, the quality and hence reliability of software developed in the area can hardly keep up with the pace of discovery of novel technologies and paradigms. Once deployed, programs in mobile ad hoc, sensor, or mesh networks hardly deliver the expected performance in terms of efficiency or reliability. Much of the brittleness of such programs results from the innate characteristics of the environment they execute in: mobility and hardware failures are responsible for a very unstable environment which programs must inherently deal with. While minor defects in those parts may exhibit as reduced efficiency, more malign defects adversely affect reliability. The characteristics of pervasive systems are also responsible that such environments can hardly be simulated or modeled accurately enough.
The debugging of pervasive applications is made hard through the same unfavorable conditions. Debugging in wired distributed settings is in itself already challenging, as a full understanding of the root cause for a failure requires a consolidated view of what happened on all involved hosts. The failure could be caused by faulty semantics local to the failed node, by node interactions, the global status of the entire system, or the high level protocol design.
Publications related to this project
This project is currently financially supported by the National Science Foundation through grant 0834529 ("A Holistic Approach to Reliable Pervasive Systems").
Main project members
P. Eugster, V. Sundaram, Xiangyu Zhang