Abstract
Designing reliable software for sensor networks is challenging because being embedded in the physical world sensor networks present a wide range of bugs and misbehavior qualitatively different from those in most distributed systems. Unfortunately, due to resource constraints, programmers have limited visibility into the post-deployment behavior of sensor networks applications. To address this problem, this thesis presents the design and evaluation of SenPro, a lightweight prototype tool that profiles the pre- and post-deployment behavior of sensor network applications and provides fine-grained visibility about sensor networks. SenPro has selected metrics that enable efficient system profiling and provide these properties in a minimally intrusive manner, without requiring any modification to the applications being observed. We describe SenPro and evaluate its performance through an analytical model and by profiling an active application using simulator TOSSIM. We demonstrate that for a broad class of data gathering applications, it is possible to understand the behavior of applications by collecting and analyzing a minimal set of metrics at a centralized sink. We have found that SenPro causes little overhead in the sensor network through our performance evaluation using real sensor nodes as well as simulation.