skip to main content
10.1145/1967677.1967691acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Dependence-based multi-level tracing and replay for wireless sensor networks debugging

Published:11 April 2011Publication History

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.

References

  1. N. Ramanathan, K. Chang, R. Kapur, L. Girod, E. Kohler, and D. Estrin. Sympathy for the sensor network debugger. In SenSys, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Khan, H. Le, H. Ahmadi, T. Abdelzaher, and J. Han. Dustminer: troubleshooting interactive complexity bugs in sensor networks. In Sensys, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. K. Liu, M. Li, Y. Liu, M. Li, Z. Guo, and F. Hong. Passive diagnosis for wireless sensor networks. In Sensys, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Levis and N. Lee. Tossim: Accurate and scalable simulation of entire tinyos applications. In SenSys, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. Z. Chen, K. G. Shin. Post-Deployment Performance Debugging in Wireless Sensor Networks. In 30th IEEE Real-Time Systems Symposium. 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Y. Wen, R. Wolski. s2db: A novel simulation-based debugger for sensor network applications. UCSB 2006,2006-01Google ScholarGoogle Scholar
  10. D. Binkley. Precise executable interprocedural slices. ACM Letters on Programming Languages and Systems. 2(1--4):31--45, March-December 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. K. Römer, J. Ma. PDA: Passive distributed assertions for sensor networks. In ACM IPSN,2009 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. http://www.tinyos.net/community.htmlGoogle ScholarGoogle Scholar
  13. http://www.open64.net/Google ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. V. Krunic, E. Trumpler, R. Han. NodeMD: Diagnosing Node-Level Faults in Remote Wireless Sensor Systems. In MobiSys, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Weiser. Program slicing. In Proceedings of the 5th international conference on Software engineering. 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. L. Lamport, The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3):8720923, 1994 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. P. Li, J. Regehr. T-Check: Bug Finding for Sensor Networks. IPSN'10,2010 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Y. Pan, D. Pan, and M. Chen. Slicing component-based systems. 10th IEEE International Conference on Engineering of Complex Computer Systems, 2005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle Scholar
  33. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Dependence-based multi-level tracing and replay for wireless sensor networks debugging

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      LCTES '11: Proceedings of the 2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems
      April 2011
      182 pages
      ISBN:9781450305556
      DOI:10.1145/1967677
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 46, Issue 5
        LCTES '10
        May 2011
        170 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2016603
        Issue’s Table of Contents

      Copyright © 2011 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 11 April 2011

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate116of438submissions,26%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader