Sentomist (Sensor application anatomist)

Unveiling Transient Sensor Network Bugs via Symptom Mining

Yangfan Zhou1    Xinyu Chen1    Michael R. Lyu1    Jiangchuan Liu2

1Department of Computer Science and Engineering, The Chinese University of Hong Kong
2School of Computing Science, Simon Fraser University

Abstract

Wireless Sensor Network (WSN) applications are typically event-driven. While the source codes of these applications may look simple, they are in fact executed with a complicated concurrency model, which frequently introduces software bugs, in particular, transient bugs. Such buggy logics may only be triggered by some occasionally interleaved events that bear implicit dependency, but can lead to fatal system failures. Unfortunately, these deeply-hidden bugs or even their buggy symptoms can hardly identified by state-of-the-art debugging tools, and manual identification from massive running traces can be prohibitively expensive.

In this paper, we present Sentomist (Sensor application anatomist), a novel tool for identifying potential transient bugs in WSN applications. The Sentomist design is based on a key observation that transient bugs make the behaviors of aWSN system deviate from the normal, and thus outliers (i.e., abnormal behaviors) are good indicators of potential bugs. Sentomist introduces the notion of event-handling interval to systematically anatomize the long-term execution history of an event-driven WSN system into groups of intervals. It then applies a customized outlier detection algorithm to quickly identify and rank abnormal intervals. This dramatically reduces the human efforts of inspection (otherwise, we have to manually check tremendous data samples if with brute-force inspection) and thus greatly speeds up debugging.

We have implemented and released Sentomist based on the concurrency model of TinyOS. We apply Sentomist to test a series of representative real-life WSN applications that contain transient bugs. These bugs, though caused by complicated interactions that can hardly be predicted during the programming.

Paper

Sentomist: Unveiling Transient Sensor Network Bugs via Symptom Mining
In Proc. of The 30th IEEE International Conference on Distributed Computing Systems,
Yangfan Zhou, Xinyu Chen, Michael R. Lyu and Jiangchuan Liu

Source code release of Sentomist

Sentomist will be merged to its sister project Sengraphy later. No further stand-alone release will be provided.

This tool is not just for selling a paper. :) We are actively improving Sentomist currently. And there is still much mork to do to generate the 1.0 release :(
1. A more friendly interface
2. Complete the user manual (please give us some time to compile it. Documentation is more painful than coding :).

sentomist_0.44.zip released on 26-Jan-2010.

New features of the release compared with the 0.42 version:
1. Some minor changes of the user interface
2. Project will not be saved automatically before simulation
3. Fix some bugs and memory leaks
4. Include the java binary codes (.class) so that you don't need to compile Sentomist by yourself before using it

sentomist-src_0.42.zip released on 14-Jan-2010.

New features of the release compared with the 0.4 version:
1. The GUI is improved. It's a bit more friendly.
2. Add a checkbox to control the outlier output for showing detailed function call sequences
3. Add a "compare" function for facilitating trouble-shooting. We can now select two event procedure, right-click the mouse, and select "compare" to see what are the differences between their behaviours.
Thank Adam and for his various suggestions. Thank Yunhao Liu for enlighting us in improving the interface during his visit to CUHK.

sentomist-src_0.4.zip released on 26-Dec-2009.

New features of the release compared with the 0.2 version:
1. A GUI is implemented. It is no longer necessary to load Sentomist in command line with complicated parameters.
2. The behaviours of the outliers are represented with the funtion call sequences for facilitating trouble-shooting.
3. The speed of the Sentomist monitor is greatly improved.

sentomist-src_0.2.zip released for reference only.

This is the prototype version (without GUI) that can work. The idea and the algorithms are similar to v0.4. The interface is command line interface and things inside are ugly actually.

Acknowledgments

We would like to thank Mr. Wujie Zheng for various discussions that help shape this work.

--------------------------------------------------------------
This webpage is maintained by Xinyu Chen and Yangfan Zhou.