ABSTRACT
Effective debugging usually involves watching program state to diagnose bugs. When debugging sensor network applications, this approach is often time-consuming and errorprone, not only because of the lack of visibility into system state, but also because of the difficulty to watch the right variables at the right time. In this paper, we present declarative tracepoints, a debugging system that allows the user to insert a group of action-associated checkpoints, or tracepoints, to applications being debugged at runtime. Tracepoints do not require modifying application source code. Instead, they are written in a declarative, SQL-like language called TraceSQL independently. By triggering the associated actions when these checkpoints are reached, this system automates the debugging process by removing the human from the loop. We show that declarative tracepoints are able to express the core functionality of a range of previously isolated debugging techniques, such as EnviroLog, NodeMD, Sympathy, and StackGuard. We describe the design and implementation of the declarative tracepoints system, evaluate its overhead in terms of CPU slowdown, illustrate its expressiveness through the aforementioned debugging techniques, and finally demonstrate that it can be used to detect real bugs using case studies of three bugs based on the development of the LiteOS operating system.
- Atmel Corporation. Mature AVR JTAG ICE. http://www. atmel. com/dyn/products/tools-card. asp?tool-id=2737.Google Scholar
- D. Gay. Design of matchbox, The simple filing system for motes. Available at http://www.tinyos.net/tinyos-1.x/doc/matchbox-design.pdf.Google Scholar
- The DTrace Homepage on Sun Microsystems. Website: http://www. sun.com/bigadmin/content/dtrace.Google Scholar
- S. Bhatti et al. Mantis OS: An embedded multithreaded operating system for wireless micro sensor platforms. In ACM/Kluwer Mobile Networks and Applications (MONET), Special Issue on Wireless Sensor Networks, 2005. Google ScholarDigital Library
- Q. Cao and T. Abdelzaher. Scalable logical coordinates framework for routing in wireless sensor networks. ACM Transactions on Sensor Networks, Volume 2, Issue 4, 2006. Google ScholarDigital Library
- Q. Cao, T. Abdelzaher, J. Stankovic, and T. He. The LiteOS operating system:Towards Unix-like abstractions for wireless sensor networks. In Proceedings of IPSN, 2008. Google ScholarDigital Library
- N. Cooprider, W. Archer, E. Eide, D. Gay, and J. Regehr. Efficient memory safety for TinyOS. In ACM SenSys, 2007. Google ScholarDigital Library
- C. Cowan, C. Pu, D. Maier, J. Walpole, P. Bakke, S. Beattie, A. Grier, P. Wagle, Q. Zhang, and H. Hinton. StackGuard: Automatic adaptive detection and prevention of buffer-over flow attacks. In Proc. 7th USENIX Security Conference, pages 63--78, San Antonio, Texas, Jan 1998. Google ScholarDigital Library
- A. Dunkels, B. Gronvall, and T. Voigt. Contiki -- A lightweight and flexible operating system for tiny networked sensors. In Emnets-I, 2004.Google ScholarDigital Library
- L. Girod, J. Elson, A. Cerpa, T. Stathopoulos, N. Ramanathan, and D. Estrin. EmStar:A software environment for developing and deploying wireless sensor networks. In USENIX Annual Technical Conference, General Track, pages 283--296, 2004. Google ScholarDigital Library
- J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister. System architecture directions for network sensors. In Proceedings of ASPLOS-IX, 2000. Google ScholarDigital Library
- J. Hui and D. Culler. The dynamic behavior of a data dissemination protocol for network programming at scale. In ACM SenSys, November 2004. Google ScholarDigital Library
- G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In European Confernece on Object-Oriented Porgramming, volume 1241 of Lecture Notes in Computer Science, pages 220--242, 1997.Google Scholar
- V. Krunic, E. Trumpler, and R. Han. NodeMD: Diagnosing node-level faults in remote wireless sensor systems. In ACM MobiSys, pages 43--56, 2007. Google ScholarDigital Library
- P. Levis and D. E. Culler. Mate: A tiny virtual machine for sensor networks. In Proceedings of ASPLOS, December 2002. Google ScholarDigital Library
- P. Levis, N. Lee, M. Welsh, and D. Culler. TOSSIM: Accurate and scalable simulation of entire TinyOS applications. In ACM SenSys, November 2003. Google ScholarDigital Library
- L. Luo, T. He, G. Zhou, L. Gu, T. F. Abdelzaher, and J. A. Stankovic. Achieving repeatability of asynchronous events in wireless sensor networks with EnviroLog. In IEEE INFOCOM, 2006.Google ScholarCross Ref
- G. Mathur, P. Desnoyers, D. Ganesan, and P. J. Shenoy. Capsule: An energy-optimized object storage system for memory-constrained sensor devices. In ACM SenSys, pages 195--208, 2006. Google ScholarDigital Library
- W. P. McCartney and N. Sridhar. Abstractions for safe concurrent programming in networked embedded systems. In ACM SenSys, 2006. Google ScholarDigital Library
- N. Ramanathan, K. Chang, R. Kapur, L. Girod, E. Kohler, and D. Estrin. Sympathy for the sensor network debugger. In ACM SenSys, pages 255--267, 2005. Google ScholarDigital Library
- B. Titzer, D. K. Lee, and J. Palsberg. Avrora: Scalable sensor network simulation with precise timing. In Proceedings of IPSN, pages 477--482, 2005. Google ScholarDigital Library
- G. Tolle and D. Culler. Design of an application-cooperative management system for wireless sensor networks. In Proceeedings of EWSN, 2005.Google ScholarCross Ref
- M. Wachs, J. I. Choi, J. W. Lee, K. Srinivasan, Z. Chen, M. Jain, and P. Levis. Visibility: A new metric for protocol design. In ACM SenSys, 2007 Google ScholarDigital Library
- J. Yang, M. L. Soffa, L. Selavo, and K. Whitehouse. Clairvoyant:A comprehensive source-level debugger for wireless sensor networks. In ACM SenSys, 2007. Google ScholarDigital Library
Index Terms
- Declarative tracepoints: a programmable and application independent debugging system for wireless sensor networks
Recommendations
Clairvoyant: a comprehensive source-level debugger for wireless sensor networks
SenSys '07: Proceedings of the 5th international conference on Embedded networked sensor systemsWireless sensor network (WSN) applications are notoriously difficult to develop and debug. This paper describes Clairvoyant which is a comprehensive source-level debugger for wireless, embedded networks. With Clairvoyant, a developer can wirelessly ...
Effective source-level debugging of wireless sensor networks
SenSys '07: Proceedings of the 5th international conference on Embedded networked sensor systemsSensor network debugging is notoriously difficult because many bugs manifest themselves only when they encounter the real world -- exactly when most powerful debugging tools can no longer be applied. There are currectly two common approaches to source ...
Declarative failure recovery for sensor networks
AOSD '07: Proceedings of the 6th international conference on Aspect-oriented software developmentWireless sensor networks consist of a system of distributed sensors embedded in the physical world, and promise to allow observation of previously unobservable phenomena. Since they are exposed to unpredictable environments, sensor-network applications ...
Comments