Implement "Meaningful Variables Names for Decompiled Code A Machine Translation Approach" in retdec
- Dominant language
- C++
- Stars
- 8.6k
- Forks
- 1k
- PR merge metrics
- No merged PRs in 30d
Description
See http://www.contrib.andrew.cmu.edu/~apjaffe/smt/decompilation-renaming-2.pdf
Quote from @apjaffe's abstract:
> Decompiled code lacks meaningful variable names. We used statistical machine translation to suggest variable names that are natural given the context. This technique has previously been successfully applied to obfuscated JavaScript code, but decompiled C code poses unique challenges in constructing an aligned corpus and selecting the best translation from among several candidates.
In @apjaffe's paper, they use Hex-Rays Decompiler to generate training dataset and raw decompiled C code, with some effort the solution could be ported to RetDec as well.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the linked paper and reviewing RetDec’s existing decompilation and variable-naming architecture, then compare it with the Hex-Rays training-data approach described there. Done means a RetDec-integrated approach can suggest meaningful variable names for decompiled C code, with its scope and evaluation criteria established.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cpp
- Domain
- compilers, machine-learning, reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100