Dominator homomorphism based code matching for source-level simulation of embedded software

  • Authors:
  • Stefan Stattelmann;Oliver Bringmann;Wolfgang Rosenstiel

  • Affiliations:
  • FZI Forschungszentrum Informatik, Karlsruhe, Germany;FZI Forschungszentrum Informatik, Karlsruhe, Germany;University of Tuebingen, Tuebingen, Germany

  • Venue:
  • CODES+ISSS '11 Proceedings of the seventh IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Relating optimized binary code and the source-level statements from which it was created can be challenging if an optimizing compiler was used to create the machine code. Moreover, this relation is crucial if a compiler-optimized program must be debugged or results from a low-level analysis need to be mapped to the source code to perform manual optimizations. Existing approaches for the debugging of optimized code usually require pervasive changes in the compiler and hence are not available for all architectures. Methods for analyzing non-functional properties of software components in complex systems (i.e. execution time and power consumption) often have similar constraints, if compiler optimizations are supported at all. This paper proposes two novel concepts to overcome these issues. To precisely relate source-level statements with the respective compiler-generated machine code, a method to reconstruct and disambiguate debug information is presented. Based on this information, an instrumentation technique is introduced which allows accurately simulating the execution of optimized binary code at the source code level. Experimental results show that by using this technique, arbitrary low-level properties of software components can be evaluated in a fast and accurate manner without running the software on the actual target hardware.