Do You Trust Your Compiler?

  • Authors:
  • James M. Boyle;R. Daniel Resler;Victor L. Winter

  • Affiliations:
  • -;-;-

  • Venue:
  • Computer
  • Year:
  • 1999

Quantified Score

Hi-index 4.10

Visualization

Abstract

As our society becomes more technologically complex, computer systems are finding an alarming number of uses in safety-critical applications. In many such systems, the software component's reliability is essential to the system's safe operation, so it becomes natural to ask, "How can software be made to behave correctly when executed?"Using program transformations to produce trusted software simplifies verification. Program transformations use proven laws to manipulate programs in a manner analogous to algebraic transformations. The authors have sketched how a formal method based on program transformations can be used to construct a verified compiler. Such a compiler has been proved to correctly compile any correct program into assembly language. While the compiler itself may not execute efficiently-- after all, you need only use the verified compiler the last time you compile a program--the transformational approach should enable the verified compiler to produce efficient assembly code.