Dustminer: troubleshooting interactive complexity bugs in sensor networks

This paper presents a tool for uncovering bugs due to interactive complexity in networked sensing applications. Such bugs are not localized to one component that is faulty, but rather result from complex and unexpected interactions between multiple often individually non-faulty components. Moreover, the manifestations of these bugs are often not repeatable, making them particularly hard to find, as the particular sequence of events that invokes the bug may not be easy to reconstruct. Because of the distributed nature of failure scenarios, our tool looks for sequences of events that may be responsible for faulty behavior, as opposed to localized bugs such as a bad pointer in a module. An extensible framework is developed where a front-end collects runtime data logs of the system being debugged and an offline back-end uses frequent discriminative pattern mining to uncover likely causes of failure. We provide a case study of debugging a recent multichannel MAC protocol that was found to exhibit corner cases of poor performance (worse than single channel MAC). The tool helped uncover event sequences that lead to a highly degraded mode of operation. Fixing the problem significantly improved the performance of the protocol.We also provide a detailed analysis of tool overhead in terms of memory requirements and impact on the running application.

[1]  Miklós Maróti,et al.  Software composition and verification for sensor networks , 2005, Sci. Comput. Program..

[2]  Paolo Ballarini,et al.  Model Checking Medium Access Control for Sensor Networks , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[3]  Wei Hong,et al.  TinyDB: an acquisitional query processing system for sensor networks , 2005, TODS.

[4]  Tarek F. Abdelzaher,et al.  Towards Diagnostic Simulation in Sensor Networks , 2008, DCOSS.

[5]  Matt Welsh,et al.  MoteLab: a wireless sensor network testbed , 2005, IPSN '05.

[6]  Ramakrishnan Srikant,et al.  Fast algorithms for mining association rules , 1998, VLDB 1998.

[7]  Tarek F. Abdelzaher,et al.  2008 International Conference on Information Processing in Sensor Networks A Practical Multi-Channel Media Access Control Protocol for Wireless Sensor Networks ∗ , 2022 .

[8]  Marcos K. Aguilera,et al.  Performance debugging for distributed systems of black boxes , 2003, SOSP '03.

[9]  Giuseppe Di Fatta,et al.  Discriminative pattern mining in software fault detection , 2006, SOQUA '06.

[10]  Tarek F. Abdelzaher,et al.  EnviroSuite: An environmentally immersive programming framework for sensor networks , 2006, TECS.

[11]  Richard Wolski,et al.  Disens: scalable distributed sensor network simulation , 2007, PPOPP.

[12]  Chao Liu,et al.  Failure proximity: a fault localization-based approach , 2006, SIGSOFT '06/FSE-14.

[13]  David E. Culler,et al.  Lessons from a Sensor Network Expedition , 2004, EWSN.

[14]  George Candea,et al.  Combining Visualization and Statistical Analysis to Improve Operator Confidence and Efficiency for Failure Detection and Localization , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[15]  Ramakrishnan Srikant,et al.  Fast Algorithms for Mining Association Rules in Large Databases , 1994, VLDB.

[16]  Deborah Estrin,et al.  Sympathy for the sensor network debugger , 2005, SenSys '05.

[17]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[18]  David E. Culler,et al.  TOSSIM: accurate and scalable simulation of entire TinyOS applications , 2003, SenSys '03.

[19]  Kamin Whitehouse,et al.  Clairvoyant: a comprehensive source-level debugger for wireless sensor networks , 2007, SenSys '07.

[20]  Tarek F. Abdelzaher,et al.  The LiteOS Operating System: Towards Unix-Like Abstractions for Wireless Sensor Networks , 2008, 2008 International Conference on Information Processing in Sensor Networks (ipsn 2008).

[21]  Emre Ertin,et al.  Kansei: a testbed for sensing at scale , 2006, 2006 5th International Conference on Information Processing in Sensor Networks.

[22]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[23]  Tarek F. Abdelzaher,et al.  SNTS: Sensor Network Troubleshooting Suite , 2007, DCOSS.

[24]  Ian H. Witten,et al.  Generating Accurate Rule Sets Without Global Optimization , 1998, ICML.

[25]  Chao Liu,et al.  Mining Control Flow Abnormality for Logic Error Isolation , 2006, SDM.

[26]  David E. Culler,et al.  Design of an application-cooperative management system for wireless sensor networks , 2005, Proceeedings of the Second European Workshop on Wireless Sensor Networks, 2005..

[27]  Jonathan W. Hui,et al.  Marionette: using RPC for interactive development and debugging of wireless embedded networks , 2006, 2006 5th International Conference on Information Processing in Sensor Networks.

[28]  Chao Liu,et al.  How Bayesians Debug , 2006, Sixth International Conference on Data Mining (ICDM'06).

[29]  Gang Zhou,et al.  Achieving Repeatability of Asynchronous Events in Wireless Sensor Networks with EnviroLog , 2006, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.

[30]  Chao Liu,et al.  SOBER: statistical model-based bug localization , 2005, ESEC/FSE-13.

[31]  Deborah Estrin,et al.  EmStar: A Software Environment for Developing and Deploying Wireless Sensor Networks , 2004, USENIX ATC, General Track.

[32]  Peter Csaba Ölveczky,et al.  Formal modeling and analysis of wireless sensor network algorithms in Real-Time Maude , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[33]  Richard Wolski,et al.  S2DB: a novel simulation-based debugger for sensor network applications , 2006, EMSOFT '06.

[34]  Chao Liu,et al.  Indexing Noncrashing Failures: A Dynamic Program Slicing-Based Approach , 2007, 2007 IEEE International Conference on Software Maintenance.

[35]  Feng Zhao,et al.  TinyGALS: a programming model for event-driven embedded systems , 2003, SAC '03.

[36]  Chao Liu,et al.  Statistical Debugging: A Hypothesis Testing-Based Approach , 2006, IEEE Transactions on Software Engineering.

[37]  John S. Baras,et al.  ATEMU: a fine-grained sensor network simulator , 2004, 2004 First Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks, 2004. IEEE SECON 2004..

[38]  Hridesh Rajan,et al.  Slede: a domain-specific verification framework for sensor network security protocol implementations , 2008, WiSec '08.