Type Inference on Executables

Abstract

In many applications, source code and debugging symbols of a target program are not available, and the only thing that we can access is the program executable. A fundamental challenge with executables is that, during compilation, critical information such as variables and types is lost. Given that typed variables provide fundamental semantics of a program, for the last 16 years, a large amount of research has been carried out on binary code type inference, a challenging task that aims to infer typed variables from executables (also referred to as binary code). In this article, we systematize the area of binary code type inference according to its most important dimensions: the applications that motivate its importance, the approaches used, the types that those approaches infer, the implementation of those approaches, and how the inference results are evaluated. We also discuss limitations, underdeveloped problems and open challenges, and propose further applications.

Document Details

Document Type
Pub Defense Publication
Publication Date
May 02, 2016
Source ID
10.1145/2896499

Entities

People

  • Juan Caballero
  • Zhiqiang Lin

Organizations

  • Air Force Office of Scientific Research
  • Instituto MadrileƱo de Estudios Avanzados
  • National Science Foundation
  • University of Texas at Dallas

Tags

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Computer Programming and Software Development.
  • Systems Analysis and Design

Technology Areas

  • AI & ML