EDBT 2026 Demo / reviewers in the wild / expert
Emily Johnston
dblp:207/6543
· DBLP profile ↗
2ranked-venue papers
0as first author
0since 2021 · last 2019
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2
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
2 papers |
Debugging and program repair · 42% Compilers and program optimization · 21% Software testing · 16% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair
automated program repair |
0.4 | 1 | 2019 | DeepDelta: learning to repair compilation errors · ESEC/SIGSOFT FSE 2019 |
Compilers and program optimization
code generation |
0.4 | 1 | 2019 | DeepDelta: learning to repair compilation errors · ESEC/SIGSOFT FSE 2019 |
Debugging and program repair › automated program repair
compilation error repair |
0.4 | 1 | 2019 | DeepDelta: learning to repair compilation errors · ESEC/SIGSOFT FSE 2019 |
Software testing
fault detection |
0.3 | 1 | 2017 | Detecting argument selection defects · Proc. ACM Program. Lang. 2017 |
Program analysis
static analysis |
0.3 | 1 | 2017 | Detecting argument selection defects · Proc. ACM Program. Lang. 2017 |
Requirements engineering and software design › interface design
API design |
0.1 | 1 | 2017 | Detecting argument selection defects · Proc. ACM Program. Lang. 2017 |
Methods — techniques the papers use, named apart from their topics
neural machine translation · 0.4deep neural network · 0.4AST diff · 0.4statistical threshold tuning · 0.3identifier name analysis · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | DeepDelta: learning to repair compilation errorsabstractProgrammers spend a substantial amount of time manually repairing code that does not compile. We observe that the repairs for any particular error class typically follow a pattern and are highly mechanical. We propose a novel approach that automatically learns these patterns with a deep neural network and suggests program repairs for the most costly classes of build-time compilation failures. We describe how we collect all build errors and the human-authored, in-progress code changes that cause those failing builds to transition to successful builds at Google. We generate an AST diff from the textual code changes and transform it into a domain-specific language called Delta that encodes the change that must be made to make the code compile. We then feed the compiler diagnostic information (as source) and the Delta changes that resolved the diagnostic (as target) into a Neural Machine Translation network for training. For the two most prevalent and costly classes of Java compilation errors, namely missing symbols and mismatched method signatures, our system called DeepDelta, generates the correct repair changes for 19,314 out of 38,788 (50%) of unseen compilation errors. The correct changes are in the top three suggested fixes 86% of the time on average. Ali Mesbah 0001, Andrew C. Rice, Emily Johnston, Nick Glorioso, Edward Aftandilian |
ESEC/SIGSOFT FSE | 3 |
| 2017 | Detecting argument selection defectsabstractIdentifier names are often used by developers to convey additional information about the meaning of a program over and above the semantics of the programming language itself. We present an algorithm that uses this information to detect argument selection defects, in which the programmer has chosen the wrong argument to a method call in Java programs. We evaluate our algorithm at Google on 200 million lines of internal code and 10 million lines of predominantly open-source external code and find defects even in large, mature projects such as OpenJDK, ASM, and the MySQL JDBC. The precision and recall of the algorithm vary depending on a sensitivity threshold. Higher thresholds increase precision, giving a true positive rate of 85%, reporting 459 true positives and 78 false positives. Lower thresholds increase recall but lower the true positive rate, reporting 2,060 true positives and 1,207 false positives. We show that this is an order of magnitude improvement on previous approaches. By analyzing the defects found, we are able to quantify best practice advice for API design and show that the probability of an argument selection defect increases markedly when methods have more than five arguments. Andrew C. Rice, Edward Aftandilian, Ciera Jaspan, Emily Johnston, Michael Pradel, Yulissa Arroyo-Paredes |
Proc. ACM Program. Lang. | 4 |