Using modularity to segment binary code
Sandia National Laboratories (SNL), Albuquerque, NM (United States). New Mexico Small Business Assistance (NMSBA) Program, NM (United States), Jacek Skryzalin, USDOE Assistant Secretary for Human Resources and Administration, Daniel Chivers · 2020
We consider the problem of recovering program structure from compiled binary code. We first extract the call graph and layout of functions in memory from the compiled code and represent this information in a graphical format. We then employ Louvain's modularity algorithm to identify clusters of functions that are considered to be related. We find that the quality and properties of clusters extracted by our technique are greatly impacted by the relative importance we assign to the call graph and the ordering of functions in memory.