Interprocedural static slicing of binary executables

Kiss, J. Jász, G. Lehotai, T. Gyimóthy

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

32 Citations (Scopus)

Abstract

Although the slicing of programs written in a high-level language has been widely studied in the literature, very little work has been published on the slicing of binary executable programs. The lack of existing solutions is really hard to understand since the application domain for slicing binaries is similar to that for slicing high-level languages. We present a method for the interprocedural static slicing of binary executables. We applied our slicing method to real size binaries and achieved an interprocedural slice size of between 56%-68%. We used conservative approaches to handle unresolved function calls and branching instructions. Our current implementation contains an imprecise (but safe) memory dependence model as well. However, this conservative slicing method might still be useful in analysing large binary programs. We suggest some improvements to eliminate useless edges from dependence graphs as well.

Original languageEnglish
Title of host publicationProceedings - 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages118-127
Number of pages10
ISBN (Print)0769520057, 9780769520056
DOIs
Publication statusPublished - 2003
Event3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003 - Amsterdam, Netherlands
Duration: Sep 26 2003Sep 27 2003

Other

Other3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003
CountryNetherlands
CityAmsterdam
Period9/26/039/27/03

Fingerprint

High level languages
Data storage equipment

Keywords

  • Application software
  • Assembly
  • Automatic control
  • Conferences
  • Data analysis
  • Electronic mail
  • Equations
  • Flow graphs
  • High level languages
  • Viruses (medical)

ASJC Scopus subject areas

  • Computational Theory and Mathematics
  • Software

Cite this

Kiss, Jász, J., Lehotai, G., & Gyimóthy, T. (2003). Interprocedural static slicing of binary executables. In Proceedings - 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003 (pp. 118-127). [1238038] Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/SCAM.2003.1238038

Interprocedural static slicing of binary executables. / Kiss; Jász, J.; Lehotai, G.; Gyimóthy, T.

Proceedings - 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003. Institute of Electrical and Electronics Engineers Inc., 2003. p. 118-127 1238038.

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

Kiss, Jász, J, Lehotai, G & Gyimóthy, T 2003, Interprocedural static slicing of binary executables. in Proceedings - 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003., 1238038, Institute of Electrical and Electronics Engineers Inc., pp. 118-127, 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003, Amsterdam, Netherlands, 9/26/03. https://doi.org/10.1109/SCAM.2003.1238038
Kiss, Jász J, Lehotai G, Gyimóthy T. Interprocedural static slicing of binary executables. In Proceedings - 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003. Institute of Electrical and Electronics Engineers Inc. 2003. p. 118-127. 1238038 https://doi.org/10.1109/SCAM.2003.1238038
Kiss ; Jász, J. ; Lehotai, G. ; Gyimóthy, T. / Interprocedural static slicing of binary executables. Proceedings - 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003. Institute of Electrical and Electronics Engineers Inc., 2003. pp. 118-127
@inproceedings{36f627029c264205a3b932d919980a75,
title = "Interprocedural static slicing of binary executables",
abstract = "Although the slicing of programs written in a high-level language has been widely studied in the literature, very little work has been published on the slicing of binary executable programs. The lack of existing solutions is really hard to understand since the application domain for slicing binaries is similar to that for slicing high-level languages. We present a method for the interprocedural static slicing of binary executables. We applied our slicing method to real size binaries and achieved an interprocedural slice size of between 56{\%}-68{\%}. We used conservative approaches to handle unresolved function calls and branching instructions. Our current implementation contains an imprecise (but safe) memory dependence model as well. However, this conservative slicing method might still be useful in analysing large binary programs. We suggest some improvements to eliminate useless edges from dependence graphs as well.",
keywords = "Application software, Assembly, Automatic control, Conferences, Data analysis, Electronic mail, Equations, Flow graphs, High level languages, Viruses (medical)",
author = "Kiss and J. J{\'a}sz and G. Lehotai and T. Gyim{\'o}thy",
year = "2003",
doi = "10.1109/SCAM.2003.1238038",
language = "English",
isbn = "0769520057",
pages = "118--127",
booktitle = "Proceedings - 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - GEN

T1 - Interprocedural static slicing of binary executables

AU - Kiss,

AU - Jász, J.

AU - Lehotai, G.

AU - Gyimóthy, T.

PY - 2003

Y1 - 2003

N2 - Although the slicing of programs written in a high-level language has been widely studied in the literature, very little work has been published on the slicing of binary executable programs. The lack of existing solutions is really hard to understand since the application domain for slicing binaries is similar to that for slicing high-level languages. We present a method for the interprocedural static slicing of binary executables. We applied our slicing method to real size binaries and achieved an interprocedural slice size of between 56%-68%. We used conservative approaches to handle unresolved function calls and branching instructions. Our current implementation contains an imprecise (but safe) memory dependence model as well. However, this conservative slicing method might still be useful in analysing large binary programs. We suggest some improvements to eliminate useless edges from dependence graphs as well.

AB - Although the slicing of programs written in a high-level language has been widely studied in the literature, very little work has been published on the slicing of binary executable programs. The lack of existing solutions is really hard to understand since the application domain for slicing binaries is similar to that for slicing high-level languages. We present a method for the interprocedural static slicing of binary executables. We applied our slicing method to real size binaries and achieved an interprocedural slice size of between 56%-68%. We used conservative approaches to handle unresolved function calls and branching instructions. Our current implementation contains an imprecise (but safe) memory dependence model as well. However, this conservative slicing method might still be useful in analysing large binary programs. We suggest some improvements to eliminate useless edges from dependence graphs as well.

KW - Application software

KW - Assembly

KW - Automatic control

KW - Conferences

KW - Data analysis

KW - Electronic mail

KW - Equations

KW - Flow graphs

KW - High level languages

KW - Viruses (medical)

UR - http://www.scopus.com/inward/record.url?scp=17644397978&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=17644397978&partnerID=8YFLogxK

U2 - 10.1109/SCAM.2003.1238038

DO - 10.1109/SCAM.2003.1238038

M3 - Conference contribution

AN - SCOPUS:17644397978

SN - 0769520057

SN - 9780769520056

SP - 118

EP - 127

BT - Proceedings - 3rd IEEE International Workshop on Source Code Analysis and Manipulation, SCAM 2003

PB - Institute of Electrical and Electronics Engineers Inc.

ER -