Date of Award
Spring 5-8-2025
Degree Type
Dissertation/Thesis
Degree Name
Masters in Computer Science
Department
Computer Science
Committee Chair/First Advisor
Dr. Michail Alexiou
Second Advisor
Dr. Arthur Choi
Third Advisor
Dr. Chen Zhao
Abstract
Understanding the functionality and behavior of binary code is essential for many software engineering tasks, including malware analysis, vulnerability detection, and program optimization. However, automating this process is challenging due to the complexity of machine code and the significant manual effort required from experienced software engineers. In this paper, we present BinGAT (Reverse Engineering of Binary Programs using Graph Attention Networks), a method for classifying binary programs into algorithmic categories using Graph Attention Neural Networks (GNNs) based on their Control-Flow Graphs (CFGs). Given a binary program, BinGAT extracts its CFG through static analysis and transforms the assembly instructions within each basic block into embeddings, preserving contextual information. By leveraging graph attention layers, BinGAT effectively learns structural and semantic patterns in program execution flow, allowing it to distinguish different algorithmic behaviors in binary code. Experimental results show that BinGAT outperforms traditional GNN-based approaches, achieving over 93% accuracy in algorithmic classification of processed CFGs from binary programs.