KleeNet: Discovering Insidious Interaction Bugs in Wireless Sensor Networks Before Deployment

Abstract

Complex interactions and the distributed nature of wireless sensor networks make automated testing and debugging before deployment a necessity. A main challenge is to detect bugs that occur due to non-deterministic events, such as node reboots or packet duplicates. Often, these events have the potential to drive a sensor network and its applications into corner-case situations, exhibiting bugs that are hard to detect using existing testing and debugging techniques. In this paper, we present KleeNet, a debugging environment that effectively discovers such bugs before deployment. KleeNet executes unmodified sensor network applications on symbolic input and automatically injects non-deterministic failures. As a result, KleeNet generates distributed execution paths at high-coverage, including low-probability corner-case situations. As a case study, we integrated KleeNet into the Contiki OS and show its effectiveness by detecting four insidious bugs in the uIP TCP/IP protocol stack. One of these bugs is critical and lead to refusal of further connections.

Publication
Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN 2010)
Event
9th ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN '10), Stockholm, Sweden
Prof. Dr. Muhammad Hamad Alizai
Prof. Dr. Muhammad Hamad Alizai
LUMS, Lahore, Pakistan
Placeholder Avatar
Carsten Weise
Placeholder Avatar
Stefan Kowalewski
Klaus Wehrle
Klaus Wehrle
Head of Group