Sasnauskas, RaimondasRaimondasSasnauskasLandsiedel, OlafOlafLandsiedelAlizai, Muhammad HamadMuhammad HamadAlizaiWeise, CarstenCarstenWeiseKowalewski, StefanStefanKowalewskiWehrle, KlausKlausWehrle2025-02-052025-02-052010-07-16Proceedings of the 9th ACM/IEEE International Conference on Information Processing in Sensor Networks: 186-196 (2010)9781605589886https://hdl.handle.net/11420/53938Complex 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.enautomated protocol testing | experimentation | failure detection | wireless sensor networksComputer Science, Information and General Works::005: Computer Programming, Programs, Data and SecurityKleeNet: Discovering insidious interaction bugs in wireless sensor networks before deploymentConference Paper10.1145/1791212.1791235Conference Paper