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

Tracing interrupts in embedded software

Published:19 June 2009Publication History

ABSTRACT

During the system development, developers often must correct wrong behavior in the software---an activity colloquially called program debugging. Debugging is a complex activity, especially in real-time embedded systems because such systems interact with the physical world and make heavy use of interrupts for timing and driving I/O devices.

Debugging interrupts is difficult, because they cause non-linear control flow in programs which is hard to reproduce in software. Record/replay mechanisms have proven their use to debugging embedded systems, because they provide means to recreate control flows offline where they can be debugged.

In this work, we present the data tracing part of the record/replay mechanism that is specifically targeted to record interrupt behavior. To tune our tracing mechanism, we use the observed principle of return address clustering and a formal model for quantitative reasoning about the tracing mechanism. The presented heuristic and mechanisms show surprisingly good results---up to an 800 percent speedup on the selector function and a 300 percent reduction on duplicates for non-optimal selector functions---considering the leanness of the approach.

References

  1. Standard Test Access Port and Boundary-Scan Architecture. IEEE 1149.1 standard, 2001.Google ScholarGoogle Scholar
  2. Standard for a Global Embedded Processor Debug Interface, 2003.Google ScholarGoogle Scholar
  3. J. Baginski and H. Seiffert. Interaktives Trace- und Debugging-System ALGOL KIEL X 8. In 3. Fachtagung ueber Programmiersprachen, Gesellschaft fur Informatik, pages 173--188, London, UK, 1974. Springer-Verlag. ISBN 3-540-06666-7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Dan H. Barnes and Larry L. Wear. Instruction Tracing via Microprogramming. In Conference record of the 7th Annual Workshop on Microprogramming (MICRO 7), pages 25--27, New York, NY, USA, 1974. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Bouyssounouse and J.Sifakis, editors. Embedded Systems Design: The ARTIST Roadmap for Research and Development, volume 3436 of LNCS. Springer, first edition, May 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. A. Cargill and B. N. Locanthi. Cheap hardware support for software debugging and profiling. In Proc. of the Second International Conference on Architectual Support for Programming Languages and Operating Systems (ASPLOS-II), pages 82--83, Los Alamitos, CA, 1987. IEEE Computer Society Press. ISBN 0-8186-0805-6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P.S. Dodd and C.V. Ravishankar. Monitoring and debugging distributed real-time programs, chapter Monitoring and debugging distributed real-time programs, pages 143--157. IEEE Computer Society Press, Los Alamitos, CA, USA, 1995. ISBN 0-8186-6537-8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Edward A. Fox, Lenwood S. Heath, Qi Fan Chen, and Amjad M. Daoud. Practical Minimal Perfect Hash Functions for Large Databases. Communications of the ACM, 35(1):105--121, 1992. ISSN 0001-0782. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Antonio Augusto Froehlich. Application-Oriented Operating Systems. Number 17 in GMD Research Series. GMD -- Forschungszentrum Informationstechnik, Sankt Augustin, August 2001.Google ScholarGoogle Scholar
  10. M.P. Gallaher and B.M. Kropp. The Economic Impacts of Inadequate Infrastructure for Software Testing. National Institute of Standards & Technologg Planning Report 02--03, May 2002.Google ScholarGoogle Scholar
  11. Robert Jenkins. Hash Functions. Dr. Dobb's, September 1997.Google ScholarGoogle Scholar
  12. Moonzoo Kim, Mahesh Viswanathan, Sampath Kannan, Insup Lee, and Oleg Sokolsky. Java-MaC: A Run-Time Assurance Approach for Java Programs. Form. Methods Syst. Des., 24(2):129--155, 2004. ISSN 0925-9856. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Donald E. Knuth. Art of Computer Programming, Volume 2: Seminumerical Algorithms (3rd Edition). Addison-Wesley Professional, November 1997. ISBN 0201896842. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kyle London. Mastering algorithms with C. O'Reilly & Associates, Inc., Sebastopol, CA, USA, 1999. ISBN 1-56592-453-3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. M. Mellor-Crummey and T. J. LeBlanc. A Software Instruction Counter. In Proc. of the Third International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-III), pages 78--86, New York, NY, USA, 1989. ACM. ISBN 0-89791-300-0. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Linda J. Moore and Angelica R. Moya. Non-Intrusive Debug Technique for Embedded Programming. In Proc. of the 14th International Symposium on Software Reliability Engineering (ISSRE), page 375, Washington, DC, USA, 2003. IEEE Computer Society. ISBN 0-7695-2007-3. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. William Omre. Debug and Trace for Multicore SoCs. Technical report, ARM, September 2008.Google ScholarGoogle Scholar
  18. M. Ronsse and K. De Bosschere. RecPlay: a fully integrated practical record/replay system. ACM Transactions Computer Systems, 17(2):133--152, 1999. ISSN 0734-2071. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. M. Ronsse, K. De Bosschere, M. Christiaens, J.C. de Kergommeaux, and D. Kranzlmueller. Record/replay for nondeterministic program executions. Communications of the ACM, 46(9):62--67, 2003. ISSN 0001-0782. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Sundmark and H. Thane. Pinpointing Interrupts in Embedded Real-Time Systems using Context Checksums. In Proc. of the 13th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Hamburg, Germany, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  21. D. Sundmark, H. Thane, J. Huselius, and A. Pettersson. Replay Debugging of Complex Real-Time Systems: Experiences from Two Industrial Case Studies. In Proc. of the 5th International Workshop on Algorithmic and Automated Debugging (AADEBUG), pages 211--222, Gent, Belgium, September 2003.Google ScholarGoogle Scholar
  22. Andrew S. Tanenbaum. Modern Operating Systems. Prentice Hall, second edition, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. Thane. Monitoring, Testing and Debugging of Distributed Real-Time Systems. PhD thesis, Department of Computer Science and Electronics, Malardalens University, May 2000.Google ScholarGoogle Scholar
  24. Ben L. Titzer. Avrora: Scalable sensor network simulation with precise timing. In Proc. of the 4th Intl. Conf. on Information Processing in Sensor Networks (IPSN), pages 477--482, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. J. J. P. Tsai, K.-Y. Fang, H.-Y. Chen, and Y.-D. Bi. A Noninterference Monitoring and Replay Mechanism for Real-Time Software Testing and Debugging. IEEE Trans. Softw. Eng., 16(8):897--916, 1990. ISSN 0098-5589. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Tracing interrupts in embedded software

    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 '09: Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
      June 2009
      188 pages
      ISBN:9781605583563
      DOI:10.1145/1542452
      • cover image ACM SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 44, Issue 7
        LCTES '09
        July 2009
        176 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/1543136
        Issue’s Table of Contents

      Copyright © 2009 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 19 June 2009

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      LCTES '09 Paper Acceptance Rate18of81submissions,22%Overall Acceptance Rate116of438submissions,26%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!