Troubleshooting interactive complexity bugs in wireless sensor networks using data mining techniques

This article 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 nonfaulty 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. We identified several challenges in applying discriminative sequence mining for root cause analysis when the system fails to perform as expected and presented our solutions to those challenges. We also present two alternative schemes, namely, two-stage mining and the progressive discriminative sequence mining to address the scalability challenge. 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 provided several case studies where we applied our tool successfully to troubleshoot the cause of the problem. We uncovered a kernel-level race condition bug in the LiteOS operating system and a protocol design bug in the directed diffusion protocol. We also presented a case study of debugging a multichannel MAC protocol that was found to exhibit corner cases of poor performance (worse than single-channel MAC). The tool helped to uncover event sequences that lead to a highly degraded mode of operation. Fixing the problem significantly improved the performance of the protocol. We also evaluated the extensions presented in this article. Finally, we provided a detailed analysis of tool overhead in terms of memory requirements and impact on the running application.

[1]  Rakesh Agarwal,et al.  Fast Algorithms for Mining Association Rules , 1994, VLDB 1994.

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

[3]  Mohammed J. Zaki,et al.  CHARM: An Efficient Algorithm for Closed Itemset Mining , 2002, SDM.

[4]  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).

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

[6]  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..

[7]  Junfeng Yang,et al.  Using model checking to find serious file system errors , 2004, TOCS.

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

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

[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]  Richard Han,et al.  NodeMD: diagnosing node-level faults in remote wireless sensor systems , 2007, MobiSys '07.

[13]  Jiawei Han,et al.  Finding Symbolic Bug Patterns in Sensor Networks , 2009, DCOSS.

[14]  Tian He,et al.  FIND: faulty node detection for wireless sensor networks , 2009, SenSys '09.

[15]  Klaus Wehrle,et al.  KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment , 2010, IPSN '10.

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

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

[18]  Jian Pei,et al.  Mining frequent patterns without candidate generation , 2000, SIGMOD '00.

[19]  Yunhao Liu,et al.  Passive Diagnosis for Wireless Sensor Networks , 2010, IEEE/ACM Transactions on Networking.

[20]  Hiroki Arimura,et al.  LCM: An Efficient Algorithm for Enumerating Frequent Closed Item Sets , 2003, FIMI.

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

[22]  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..

[23]  Kay Römer,et al.  PDA: Passive distributed assertions for sensor networks , 2009, 2009 International Conference on Information Processing in Sensor Networks.

[24]  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.

[25]  Peng Li,et al.  T-check: bug finding for sensor networks , 2010, IPSN '10.

[26]  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).

[27]  Philip S. Yu,et al.  Direct Discriminative Pattern Mining for Effective Classification , 2008, 2008 IEEE 24th International Conference on Data Engineering.

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

[29]  Ye Wen,et al.  S 2 DB : A Novel Simulation-Based Debugger for Sensor Network Applications , 2006 .

[30]  Andrea Vitaletti,et al.  SNIF: Sensor Network Inspection Framework , 2006 .

[31]  Mustafa Hammad,et al.  Lightweight Deployable Software Monitoring for Sensor Networks , 2009, 2009 Proceedings of 18th International Conference on Computer Communications and Networks.

[32]  Philip Levis,et al.  The nesC language: a holistic approach to networked embedded systems , 2003, SIGP.

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

[34]  Sangkyum Kim,et al.  NDPMine: Efficiently Mining Discriminative Numerical Features for Pattern-Based Classification , 2010, ECML/PKDD.

[35]  Deborah Estrin,et al.  Directed diffusion: a scalable and robust communication paradigm for sensor networks , 2000, MobiCom '00.

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

[37]  Michael R. Lyu,et al.  Sentomist: Unveiling Transient Sensor Network Bugs via Symptom Mining , 2010, 2010 IEEE 30th International Conference on Distributed Computing Systems.

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

[39]  Kamin Whitehouse,et al.  Declarative tracepoints: a programmable and application independent debugging system for wireless sensor networks , 2008, SenSys '08.

[40]  Jianyong Wang,et al.  Mining sequential patterns by pattern-growth: the PrefixSpan approach , 2004, IEEE Transactions on Knowledge and Data Engineering.

[41]  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.

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

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

[44]  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.

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

[46]  Jiawei Han,et al.  Discriminative Frequent Pattern Analysis for Effective Classification , 2007, 2007 IEEE 23rd International Conference on Data Engineering.

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

[48]  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).

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

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

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

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

[53]  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 .

[54]  Jiawei Han,et al.  Dustminer: troubleshooting interactive complexity bugs in sensor networks , 2008, SenSys '08.

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

[56]  Patrick Th. Eugster,et al.  Efficient diagnostic tracing for wireless sensor networks , 2010, SenSys '10.