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.
Date: November 15, 2008
Book Title: Proceedings of the 6th ACM conference on Embedded network sensor systems
Type: Proceedings
Publisher: ACM
Downloads: 453
Has 1 soft copy
remote linkBibtex
@Proceedings{DustMiner_Troubleshooting_Interactive_Co,
author = "Mohammad Maifi Hasan Khan and Hieu Khac Le and Hossein Ahmadi and Tarek F. Abdelzaher and Jiawei Han",
title = "{DustMiner: Troubleshooting Interactive Complexity Bugs in Sensor Networks}",
month = "November",
year = "2008",
booktitle = "Proceedings of the 6th ACM conference on Embedded network sensor systems",
publisher = "ACM",
}