TL;DR
A new workflow for repairing decompiled C code enhances the reliability of recompilation by incorporating test-guided feedback, leading to improved behavior validation. In tests on 104 Coreutils binaries, 87.5% successfully passed behavioral checks after repair.
✦ Why It Matters
Implement test-guided feedback in your decompilation workflow to ensure reliable binary behavior.
Key Takeaways
How It Works
The workflow begins with compiler and linker diagnostics that identify issues in the decompiled C code, guiding necessary repairs. Once the code is fixed, it is recompiled into a binary.
Following recompilation, smoke tests are performed to quickly check for basic functionality, while official tests are used to ensure the binary behaves as expected. This two-step validation process helps catch discrepancies that recompilation alone might miss.
Related