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 ScholarDigital Library
- M. Khan, H. Le, H. Ahmadi, T. Abdelzaher, and J. Han. Dustminer: troubleshooting interactive complexity bugs in sensor networks. In Sensys, 2008. Google ScholarDigital Library
- K. Liu, M. Li, Y. Liu, M. Li, Z. Guo, and F. Hong. Passive diagnosis for wireless sensor networks. In Sensys, 2008. 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. I Proceedings of the 2004 USENIX Technical Conference, 2004, pp. 283--296. Google ScholarDigital 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 ScholarDigital Library
- P. Levis and N. Lee. Tossim: Accurate and scalable simulation of entire tinyos applications. In SenSys, 2003. 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
- Z. Chen, K. G. Shin. Post-Deployment Performance Debugging in Wireless Sensor Networks. In 30th IEEE Real-Time Systems Symposium. 2009. Google ScholarDigital 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 ScholarDigital Library
- K. Römer, J. Ma. PDA: Passive distributed assertions for sensor networks. In ACM IPSN,2009 Google ScholarDigital 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 ScholarDigital Library
- V. Krunic, E. Trumpler, R. Han. NodeMD: Diagnosing Node-Level Faults in Remote Wireless Sensor Systems. In MobiSys, 2007. Google ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital Library
- M. Weiser. Program slicing. In Proceedings of the 5th international conference on Software engineering. 1981. Google ScholarDigital 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 ScholarDigital 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 ScholarDigital Library
- L. Lamport, The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):8720923, 1994 Google ScholarDigital 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 ScholarDigital Library
- P. Li, J. Regehr. T-Check: Bug Finding for Sensor Networks. IPSN'10,2010 Google ScholarDigital Library
- Y. Pan, D. Pan, and M. Chen. Slicing component-based systems. 10th IEEE International Conference on Engineering of Complex Computer Systems, 2005 Google ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarDigital 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 ScholarCross 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 '10Due 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