Validation of code-improving transformations for embeded systems

  • Authors:
  • Robert van Engelen;David Whalley;Xin Yuan

  • Affiliations:
  • Florida State University, Tallahassee, FL;Florida State University, Tallahassee, FL;Florida State University, Tallahassee, FL

  • Venue:
  • Proceedings of the 2003 ACM symposium on Applied computing
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Programmers of embeded systems often develop software in assembly code due to inadequate support from compilers and the need to meet critical speed and/or space constraints. Many embeded applications are being used as a component of an increasing number of critical systems. While achieving high performance for these systems is important, ensuring that these systems execute correctly is vital. One portion of this process is to ensure that code-improving transformations applied to a program will not change the program's semantic behavior, which may be jeopardized when transformations are specified manually. This paper describes a general approach for validation of many low-level code-improving transformations made either by a compiler or specified by hand. Initially, we associate a region of the program representation with a code-improving transformation. Afterwards, we calculate the region's effects on the rest of the program before and after the transformation. The transformation is considered valid when the effects before and after the transformation are identical. We implemented an automatic validation system in the vpo compiler. The system is currently able to validate all code-improving transformations in vpo except transformations that affect blocks across loop levels.