Equational reasoning on x86 assembly code

Kevin Coogan, Saumya Debray

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Scopus citations

Abstract

Analysis of software is essential to addressing problems of correctness, efficiency, and security. Existing source code analysis tools are very useful for such purposes, but there are many instances where high-level source code is not available for software that needs to be analyzed. A need exists for tools that can analyze assembly code, whether from disassembled binaries or from handwritten sources. This paper describes an equational reasoning system for assembly code for the ubiquitous Intel x86 architecture, focusing on various problems that arise in low-level equational reasoning, such as register-name aliasing, memory indirection, condition-code flags, etc. Our system has successfully been applied to the problem of simplifying execution traces from obfuscated malware executables.

Original languageEnglish (US)
Title of host publicationProceedings - 11th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2011
Pages75-84
Number of pages10
DOIs
StatePublished - 2011
Event11th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2011 - Williamsburg, VA, United States
Duration: Sep 25 2011Sep 26 2011

Publication series

NameProceedings - 11th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2011

Other

Other11th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2011
Country/TerritoryUnited States
CityWilliamsburg, VA
Period9/25/119/26/11

Keywords

  • equational reasoning
  • static and dynamic analysis
  • x86 assembly

ASJC Scopus subject areas

  • Computer Science Applications

Fingerprint

Dive into the research topics of 'Equational reasoning on x86 assembly code'. Together they form a unique fingerprint.

Cite this