Recognizing Binary Code Semantics Towards Achieving Software Segmentation
Continuous advancements in hardware capabilities and programming paradigms have enabled the progress of high-performance computing. The demand to adapt legacy codes, originally designed for earlier generations of computers, to the requirements of modern ones has spurred the development of code distillation techniques. These techniques are specifically designed to improve the performance and security of existing legacy software. However, the majority of legacy software is available only as binary executables, thus, creating difficulties in sustaining or updating them. This challenge necessitates specialized tools for binary analysis to extract key attributes that ensure the accurate translation of legacy software into optimized and secure versions, while preserving its original functionality. In this paper, a methodology named Spotlight is introduced for the identification of program semantics within binary code to facilitate precise distillation and translation. Spotlight operates on the Control-Flow graph representation of binary programs. It leverages a region-growing approach in conjunction with Graph Neural Networks to identify neighborhoods of basic blocks exhibiting attributes of (i) specific functionalities or (ii) parallelism. The present study is focused on four computational functionalities: (a) matrix multiplication, (b) breadth-first search, (c) sorting, and (d) K-means clustering. The evaluation results highlight Spotlight's effectiveness, demonstrating over 90 % accuracy in detecting the relevant computational functionality and identifying parallelism, both within and across different functionalities.
Authors
- Michail S. Alexiou (ORCID: https://orcid.org/0000-0002-6558-2107)
- S. Mertoguno
- Zeezoo Ryu
- Grace Abawe
Institutions
- Georgia Institute of Technology (US)
- Kennesaw State University (US)
- Yale University (US)
Publication Details
- Published
- 2024-10-28
- DOI
- https://doi.org/10.1109/ictai62512.2024.00137
- Primary Topic
- Software Engineering Research
- Type
- article
- Field-Weighted Citation Impact
- 0.00