EDBT 2026 Demo / reviewers in the wild / expert
Alan Jaffe
dblp:204/3702
· DBLP profile ↗
2ranked-venue papers
2as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 2 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
1 paper |
Software maintenance and evolution · 50% Compilers and program optimization · 25% Program synthesis and code generation · 25% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program synthesis and code generation
code generation with language models |
0.3 | 1 | 2017 | Suggesting meaningful variable names for decompiled code: a machine translation approach · ESEC/SIGSOFT FSE 2017 |
Compilers and program optimization
decompilation |
0.3 | 1 | 2017 | Suggesting meaningful variable names for decompiled code: a machine translation approach · ESEC/SIGSOFT FSE 2017 |
Software maintenance and evolution › code readability
identifier naming |
0.3 | 1 | 2017 | Suggesting meaningful variable names for decompiled code: a machine translation approach · ESEC/SIGSOFT FSE 2017 |
Software maintenance and evolution › program comprehension
variable name recovery |
0.3 | 1 | 2017 | Suggesting meaningful variable names for decompiled code: a machine translation approach · ESEC/SIGSOFT FSE 2017 |
Methods — techniques the papers use, named apart from their topics
statistical machine translation · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Meaningful variable names for decompiled code: a machine translation approachabstractWhen code is compiled, information is lost, including some of the structure of the original source code as well as local identifier names. Existing decompilers can reconstruct much of the original source code, but typically use meaningless placeholder variables for identifier names. Using variable names which are more natural in the given context can make the code much easier to interpret, despite the fact that variable names have no effect on the execution of the program. In theory, it is impossible to recover the original identifier names since that information has been lost. However, most code is natural: it is highly repetitive and predictable based on the context. In this paper we propose a technique that assigns variables meaningful names by taking advantage of this naturalness property. We consider decompiler output to be a noisy distortion of the original source code, where the original source code is transformed into the decompiler output. Using this noisy channel model, we apply standard statistical machine translation approaches to choose natural identifiers, combining a translation model trained on a parallel corpus with a language model trained on unmodified C code. We generate a large parallel corpus from 1.2 TB of C source code obtained from GitHub. Under the most conservative assumptions, our technique is still able to recover the original variable names up to 16.2% of the time, which represents a lower bound for performance. Alan Jaffe, Jeremy Lacomis, Edward J. Schwartz, Claire Le Goues, Bogdan Vasilescu |
ICPC | 1 |
| 2017 | Suggesting meaningful variable names for decompiled code: a machine translation approachabstractDecompiled 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. Alan Jaffe |
ESEC/SIGSOFT FSE | 1 |