KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment

  • Authors:
  • Raimondas Sasnauskas;Olaf Landsiedel;Muhammad Hamad Alizai;Carsten Weise;Stefan Kowalewski;Klaus Wehrle

  • Affiliations:
  • RWTH Aachen University, Germany;RWTH Aachen University, Germany;RWTH Aachen University, Germany;RWTH Aachen University, Germany;RWTH Aachen University, Germany;RWTH Aachen University, Germany

  • Venue:
  • Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

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 μIP TCP/IP protocol stack. One of these bugs is critical and lead to refusal of further connections.