Abstract
Due to resource constraints and unreliable communication, wireless sensor network (WSN) programming and debugging remain to be a challenging task. Runtime errors must be constantly monitored, often by checking for violations of certain invariants. Once an error is detected, diagnosis must be performed to identify the origin of the error. Deterministic replay is an error diagnosis method which has long been proposed for distributed systems. However, one of the significant hurdles for applying deterministic replay on WSN is posed by the small program memory on typical sensor nodes. This paper proposes a dependence-based multi-level method for memory-efficient tracing and replay. In the interest of portability across different hardware platforms, the method is implemented as a source-level tracing and replaying tool. To further reduce the code size after tracing instrumentation, a cost model is used for making the decision on which functions to in-line. A prototype for the tool targets C programs is developed on top of the Open64 compiler and is tested using several TinyOS applications running on TelosB motes. Preliminary experimental results show that the test programs, which do not fit the program memory after straightforward instrumentation, can be successfully accommodated in memory using the new method such that the injected errors can be found.
- N. Ramanathan, K. Chang, R. Kapur, L. Girod, E. Kohler, and D. Estrin. Sympathy for the sensor network debugger. In SenSys, 2005. Google Scholar
Digital Library
- M. Khan, H. Le, H. Ahmadi, T. Abdelzaher, and J. Han. Dustminer: troubleshooting interactive complexity bugs in sensor networks. In Sensys, 2008. Google Scholar
Digital Library
- K. Liu, M. Li, Y. Liu, M. Li, Z. Guo, and F. Hong. Passive diagnosis for wireless sensor networks. In Sensys, 2008. Google Scholar
Digital 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. I Proceedings of the 2004 USENIX Technical Conference, 2004, pp. 283--296. Google Scholar
Digital Library
- Q. Cao, T. Abdelzaher, J. Stankovic, K. Whitehouse, and L. Luo. Declarative tracepoints: A programmable and application independent debugging system for wireless sensor networks. In Sensys, 2008. Google Scholar
Digital Library
- P. Levis and N. Lee. Tossim: Accurate and scalable simulation of entire tinyos applications. In SenSys, 2003. Google Scholar
Digital 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 Scholar
Digital Library
- Z. Chen, K. G. Shin. Post-Deployment Performance Debugging in Wireless Sensor Networks. In 30th IEEE Real-Time Systems Symposium. 2009. Google Scholar
Digital Library
- Y. Wen, R. Wolski. s2db: A novel simulation-based debugger for sensor network applications. UCSB 2006,2006-01Google Scholar
- D. Binkley. Precise executable interprocedural slices. ACM Letters on Programming Languages and Systems. 2(1--4):31--45, March-December 1993. Google Scholar
Digital Library
- K. Römer, J. Ma. PDA: Passive distributed assertions for sensor networks. In ACM IPSN,2009 Google Scholar
Digital Library
- http://www.tinyos.net/community.htmlGoogle Scholar
- http://www.open64.net/Google Scholar
- K. Whitehouse, G. Tolle, J. Taneja, C. Sharp, S. Kim, J. Jeong, J. Hui, P. Dutta, and D. Culler. Marionette: using rpc for interactive development and debugging of wireless embedded networks. In IPSN'06, 2006. Google Scholar
Digital Library
- V. Krunic, E. Trumpler, R. Han. NodeMD: Diagnosing Node-Level Faults in Remote Wireless Sensor Systems. In MobiSys, 2007. Google Scholar
Digital Library
- M. Diaz, G. Juanole, and J. Courtiat. Observer-A Concept for Formal On-Line Validation of Distributed Systems. IEEE Transactions on Software Engineering, 20(12), 1994. Google Scholar
Digital Library
- G. Khanna, P. Varadharajan, and S. Bagchi. Self Checking Network Protocols: A Monitor Based Approach. In International Symposium on Reliable Distributed Systems, pages 18--30, 2004. Google Scholar
Digital Library
- M. Zulkernine and R. E. Seviora. A Compositional Approach to Monitoring Distributed Systems. In International Conference on Dependable Systems and Networks, 2002, pp. 763--772. Google Scholar
Digital Library
- M. Weiser. Program slicing. In Proceedings of the 5th international conference on Software engineering. 1981. Google Scholar
Digital Library
- D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesC language: A holistic approach to networked embedded systems. In SIGPLAN Conference on Programming Language Design and Implementation (PLDI'03), June 2003. Google Scholar
Digital Library
- K.Sen, A. Vardhan, G. Agha and G. Rosu. Efficient decentralized monitoring of safety in distributed systems. In proceedings of 26th International Conference on Software Engineering, 2004 Google Scholar
Digital Library
- L. Lamport, The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):8720923, 1994 Google Scholar
Digital Library
- O. Gnawali, R. Fonseca, K. Jamieson, D. Moss, and P. Levis. Collection Tree Protocol. In Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems, 2009. Google Scholar
Digital Library
- P. Li, J. Regehr. T-Check: Bug Finding for Sensor Networks. IPSN'10,2010 Google Scholar
Digital Library
- Y. Pan, D. Pan, and M. Chen. Slicing component-based systems. 10th IEEE International Conference on Engineering of Complex Computer Systems, 2005 Google Scholar
Digital Library
- J. T. Lalchandani and R. Mall. Regression testing based-on slicing of component-based software architectures. In proceedings of the 1st India software engineering conference. Pages: 67--76. 2008 Google Scholar
Digital Library
- N. Xu, S. Rangwala, K. Chintalapudi, D. Ganesan, A. Broad, R. Govindan, and D. Estrin. A Wireless Sensor Network For Structural Monitoring. In Proc. of ACM SenSys, 2004. Google Scholar
Digital Library
- T. He, S. Krishnamurthy, J. Stankovic, T. Abdelzaher, L. Luo, R. Stoleru, T. Yan, L. Gu, J. Hui, and B. Krogh, Energy-Efficient Surveillance System using Wireless Sensor Networks. In Proc. of ACM MobiSys, 2004. Google Scholar
Digital Library
- M. Zulkernine and R. E. Seviora. A Compositional Approach to Monitoring Distributed Systems. In International Conference on Dependable Systems and Networks, pages 763--772, 2002 Google Scholar
Digital Library
- S. Park , Y. Zhou , W. Xiong , Z. Yin , R. Kaushik , K. H. Lee , S. Lu, PRES: probabilistic replay with execution sketching on multiprocessors, Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, October 11--14, 2009, Big Sky, Montana, USA. Google Scholar
Digital Library
- G. Altekar and I. Stoica: ODR: Output-Deterministic Replay for Multicore Debugging, Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, October 11--14, 2009, Big Sky, Montana, USA. Google Scholar
Digital Library
- M. Xu, V. Malyugin, J. Sheldon, G. Venkitachalam, B. Weissman, and V. Inc. Retrace: Collecting execution trace with virtual machine deterministic replay. In In Proceedings of the 3rd Annual Workshop on Modeling, Benchmarking and Simulation, MoBS, 2007.Google Scholar
- J. Tucek, S. Lu, C. Huang, S. Xanthos, and Y. Zhou. Triage: diagnosing production run failures at the user's site. In T. C. Bressoud and M. F. Kaashoek, editors, SOSP, pages 131--144. ACM, 2007. Google Scholar
Digital Library
- M. Olszewski, J. Ansel, and S. P. Amarasinghe. Kendo: efficient deterministic multithreading in software. In M. L. Soffa and M. J. Irwin, editors, ASPLOS, pages 97--108. ACM, 2009. Google Scholar
Digital Library
- S. Bhansali, W.-K. Chen, S. de Jong, A. Edwards, R. Murray, M. Drinić, D. Mihočka, and J. Chau. Framework for instructionlevel tracing and analysis of program executions. In Proceedings of the 2nd international conference on Virtual execution environments (VEE), pages 154--163, 2006. Google Scholar
Digital Library
- H. Patil, C. Pereira, M. Stallcup, G. Lueck, J. Cownie: PinPlay: A Framework for Deterministic Replay and Reproducible Analysis of Parallel Programs, CGO'10,2010 Google Scholar
Digital Library
- G. Tolle, D. Culler: Design of an Application-Cooperative Management System for Wireless Sensor Networks, Proceedings of Second European Workshop on Wireless Sensor Networks, pp. 121- 132, Jan. 31- Feb. 2. 2005.Google Scholar
Cross Ref
Index Terms
Dependence-based multi-level tracing and replay for wireless sensor networks debugging
Recommendations
Dependence-based multi-level tracing and replay for wireless sensor networks debugging
LCTES '11: Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systemsDue to resource constraints and unreliable communication, wireless sensor network (WSN) programming and debugging remain to be a challenging task. Runtime errors must be constantly monitored, often by checking for violations of certain invariants. Once ...
Global property violation detection and diagnosis for wireless sensor networks
CASES '13: Proceedings of the 2013 International Conference on Compilers, Architectures and Synthesis for Embedded SystemsRun-time error detection and deterministic off-line error replay have received wide attention in recent years as a technique to enhance the programmer's ability to find software errors. To apply this technique to wireless sensor networks (WSN), one must ...
Fuzzy Logic-Based Sink Selection and Load Balancing in Multi-Sink Wireless Sensor Networks
Using multiple sink nodes in wireless sensor networks can greatly improve the lifetime and throughput of the network. One of the important issues in multi-sink wireless sensor networks is the congestion problem in sink nodes which reduces the ...







Comments