Run-time type checking for binary programs

  • Authors:
  • Michael Burrows;Stephen N. Freund;Janet L. Wiener

  • Affiliations:
  • Microsoft Corporation, Mountain View, CA;Department of Computer Science, Williams College, Williamstown, MA;Hewlett-Packard Labs, Palo Alto, CA

  • Venue:
  • CC'03 Proceedings of the 12th international conference on Compiler construction
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many important software systems are written in the C programming language. Unfortunately, the C language does not provide strong safety guarantees, and many common programming mistakes introduce type errors that are not caught by the compiler. These errors only manifest themselves at run time through unexpected program behavior, and it is often hard to isolate and identify their causes. This paper presents the Hobbes run-time type checker for compiled C programs. Our tool interprets compiled binaries, tracks type information for all memory and register locations, and reports warnings when a variety of type errors occur. Because the Hobbes type checker does not rely on source code, it is effective in many situations where similar tools are not, such as when full source code is not available or when C source is linked with program fragments written in assembly or other languages.