Abstract

Program analysis to check performance bottleneck or execution coverage is often implemented by instrumentation. Static binary instrumentation (SBI) adds the probing code before runtime, and dynamic binary instrumentation (DBI) changes the code at runtime with an OS support. Unfortunately, both are not appropriate for instrumenting embedded firmware such as the program on the flash memory controller, since it should be analyzed “as-is” on the real target for more realistic testing with target-specific conditions; additional code added by SBI might not fit in the limited memory of the target, while the OS support required by DBI is often not available on the target platform. This paper proposes a novel OS-less DBI framework using a hardware debugger for analyzing this embedded firmware. Our DBI does not increase the code size nor relies on any OS support. We experimented with our DBI tool for performance profiling and code coverage to check its usefulness. We also experimented on the real flash memory controller.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.