skip to main content
10.1145/3380536.3380545acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
research-article

ELSE: an efficient link-time static instrumentation tool for embedded system

Published:22 February 2020Publication History

ABSTRACT

Unlike general systems, hardware and software of embedded systems are usually customized for specific purposes and many of them are real-time systems. With time changing, their workloads are also changing rapidly and maintaining their software becomes a complicated job. The key is to understand their behaviours so that developers can make changes to them according to the new situations. To trace their runtime behaviours, instrumentation techniques are widely used in general systems. However, applying them on embedded system faces several problems including big size growth rate, long instrumentation time, high runtime overhead, etc. As the hardware performance of embedded system are usually limited, these problems are crucial and cannot be ignored. As far as we know, existing tools can only partly solve all these problems.

In this paper, we propose ELSE, an Efficient and Link-time, Static instrumentation tool for Embedded system. It supports efficient low-level and high-level instrumentation to collect most runtime information developers want. It does not waste any space during instrumentation thus its size growth rate is very small, which is only about 30% of other existing tools. Its processing time is also orders of magnitude less than other existing tools. We optimize the influence of registers and cache which can further reduce its runtime overhead. Overall, ELSE performs the best compared with other state-of-the-art tools on SPEC 2006 benchmarks.

References

  1. Andrew R. Bernat and Barton P. Miller. 2011. Anywhere, any-time binary instrumentation. In Proceedings of the 10th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools (PASTE '11). ACM, 9--16.Google ScholarGoogle Scholar
  2. Andrew R. Bernat, Kevin Roundy, and Barton P. Miller. 2011. Efficient, sensitivity resistant binary instrumentation. In Proceedings of the 2011 International Symposium on Software Testing and Analysis (ISSTA '11). ACM, 89--99.Google ScholarGoogle Scholar
  3. A. Botta, W. de Donato, A. Pescape, and G. Ventre. 2008. Networked Embedded Systems: A Quantitative Performance Comparison. In Global Telecommunications Conference, 2008. IEEE GLOBECOM 2008. IEEE. 1--6.Google ScholarGoogle Scholar
  4. D.L. Bruening. 2004. Efficient, transparent, and comprehensive runtime code manipulation. Ph.D. Dissertation. Massachusetts Institute of Technology.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. B. Buck and J.K. Hollingsworth. 2000. An API for runtime code patching. International Journal of High Performance Computing Applications 14, 4 (2000), 317--329.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bruno De Bus, Bjorn De Sutter, Ludo Van Put, Dominique Chanet, and Koen De Bosschere. 2004. Link-time optimization of ARM binaries. In Proceedings of the 2004 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems (LCTES '04). ACM, 211--220.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Alan Eustace and Amitabh Srivastava. 1995. ATOM: a flexible interface for building high performance program analysis tools. In Proceedings of the USENIX 1995 Technical Conference Proceedings (TCON'95). USENIX Association, 25--25.Google ScholarGoogle Scholar
  8. Peter Feiner, Angela Demke Brown, and Ashvin Goel. 2012. Comprehensive kernel instrumentation via dynamic binary translation. In Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '12). ACM, 135--146.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Fischmeister and P. Lam. 2010. Time-Aware Instrumentation of Embedded Software. IEEE Transactions on Industrial Informatics 6, 4 (2010), 652--663.Google ScholarGoogle ScholarCross RefCross Ref
  10. Kim Hazelwood and Artur Klauser. 2006. A dynamic binary instrumentation engine for the ARM architecture. In Proceedings of the 2006 international conference on compilers, architecture and synthesis for embedded systems (CASES '06). ACM, 261--270.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Robert Hundt, Easwaran Raman, Martin Thuresson, and Neil Vachharajani. 2011. MAO - An extensible micro-architectural optimizer. In Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO '11). IEEE Computer Society, 1--10.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. James R. Larus and Eric Schnarr. 1995. EEL: machine-independent executable editing. In Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation (PLDI '95). ACM, New York, NY, USA, 291--300.Google ScholarGoogle Scholar
  13. M.A. Laurenzano, M.M. Tikir, L. Carrington, and A. Snavely. 2010. PEBIL: Efficient static binary instrumentation for Linux. In Proceedings of the 2010 IEEE International Symposium on Performance Analysis of Systems Software (ISPASS '10). IEEE Computer Society, 175--183.Google ScholarGoogle Scholar
  14. Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood. 2005. Pin: building customized program analysis tools with dynamic instrumentation. In Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation (PLDI '05). ACM, 190--200.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ryan W. Moore, José A. Baiocchi, Bruce R. Childers, Jack W. Davidson, and Jason D. Hiser. 2009. Addressing the challenges of DBT for the ARM architecture. In Proceedings of the 2009 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems (LCTES '09). ACM, 147--156.Google ScholarGoogle Scholar
  16. S. Nanda, Wei Li, Lap-Chung Lam, and Tzi cker Chiueh. 2006. BIRD: binary interpretation using runtime disassembly. In Proceedings of the 4th annual IEEE/ACM international symposium on Code generation and optimization (CGO '06). ACM, 12 pp.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Nicholas Nethercote and Julian Seward. 2007. Valgrind: a framework for heavyweight dynamic binary instrumentation. In Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation (PLDI '07). ACM, 89--100.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Newsome and D. Song. 2005. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. Proceedings of NDSS 05 (2005).Google ScholarGoogle Scholar
  19. Prateek Saxena, R Sekar, and Varun Puranik. 2008. Efficient fine-grained binary instrumentation with applications to taint-tracking. In Proceedings of the 6th annual IEEE/ACM international symposium on Code generation and optimization (CGO '08). ACM, 74--83.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. B. Schwarz, S. Debray, G. Andrews, and M. Legendre. 2001. Plto: A link-time optimizer for the Intel IA-32 architecture. In Proc. 2001 Workshop on Binary Translation (WBT-2001). Citeseer.Google ScholarGoogle Scholar
  21. J. Seward and N. Nethercote. 2005. Using Valgrind to detect undefined value errors with bit-precision. In USENIX Annual Technical Conference. 17--30.Google ScholarGoogle Scholar
  22. Amitabh Srivastava and Alan Eustace. 1994. ATOM: a system for building customized program analysis tools. In Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation (PLDI '94). ACM, 196--205.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Enqiang Sun and David Kaeli. 2009. A binary instrumentation tool for the Blackfin processor. In Proceedings of the Workshop on Binary Instrumentation and Applications (WBIA '09). ACM, 43--51.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Jonas Trmper, Stefan Voigt, and Jrgen Dllner. 2012. Maintenance of Embedded Systems: Supporting Program Comprehension Using Dynamic Analysis. In In Proceedings of the 2nd International ICSE Workshop on Software Engineering for Embedded Systems (SEES). IEEE Computer Society.Google ScholarGoogle Scholar

Index Terms

  1. ELSE: an efficient link-time static instrumentation tool for embedded system

    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
      PMAM '20: Proceedings of the Eleventh International Workshop on Programming Models and Applications for Multicores and Manycores
      February 2020
      85 pages
      ISBN:9781450375221
      DOI:10.1145/3380536
      • Editors:
      • Quan Chen,
      • Zhiyi Huang,
      • Min Si

      Copyright © 2020 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: 22 February 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      PMAM '20 Paper Acceptance Rate8of15submissions,53%Overall Acceptance Rate53of97submissions,55%
    • Article Metrics

      • Downloads (Last 12 months)8
      • Downloads (Last 6 weeks)1

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader