Fast, Fine-Grained Equivalence Checking for Neural Decompilers

  • 2025-01-08 19:59:48
  • Luke Dramko, Claire Le Goues, Edward J. Schwartz
  • 0

Abstract

Neural decompilers are machine learning models that reconstruct the sourcecode from an executable program. Critical to the lifecycle of any machinelearning model is an evaluation of its effectiveness. However, existingtechniques for evaluating neural decompilation models have substantialweaknesses, especially when it comes to showing the correctness of the neuraldecompiler's predictions. To address this, we introduce codealign, a novelinstruction-level code equivalence technique designed for neural decompilers.We provide a formal definition of a relation between equivalent instructions,which we term an equivalence alignment. We show how codealign generatesequivalence alignments, then evaluate codealign by comparing it with symbolicexecution. Finally, we show how the information codealign provides-which partsof the functions are equivalent and how well the variable names match-issubstantially more detailed than existing state-of-the-art evaluation metrics,which report unitless numbers measuring similarity.

 

Quick Read (beta)

loading the full paper ...