Demo Data from EDBT 2026 / reviewers in the wild / expert
Mike Kaufman
dblp:274/7817
· DBLP profile ↗
2ranked-venue papers
0as first author
2since 2021 · last 2022
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 2 since 2021
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 |
Software maintenance and evolution · 71% Program synthesis and code generation · 29% |
Topics — the 4 heaviest of 4, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution › software merging
merge conflict resolution |
1.1 | 2 | 2022 | Using pre-trained language models to resolve textual and semantic merge conflicts (experience paper) · ISSTA 2022 Can Program Synthesis be Used to Learn Merge Conflict Resolutions? An Empirical Analysis · ICSE 2021 |
Software maintenance and evolution
software merging |
0.6 | 1 | 2022 | Using pre-trained language models to resolve textual and semantic merge conflicts (experience paper) · ISSTA 2022 |
Program synthesis and code generation
DSL-based synthesis |
0.5 | 1 | 2021 | Can Program Synthesis be Used to Learn Merge Conflict Resolutions? An Empirical Analysis · ICSE 2021 |
Program synthesis and code generation
code generation with language models |
0.2 | 1 | 2022 | Using pre-trained language models to resolve textual and semantic merge conflicts (experience paper) · ISSTA 2022 |
Methods — techniques the papers use, named apart from their topics
pre-trained language model · 0.6k-shot learning · 0.6GPT-3 · 0.6program synthesis · 0.5domain-specific language · 0.5
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Using pre-trained language models to resolve textual and semantic merge conflicts (experience paper)abstractProgram merging is standard practice when developers integrate their individual changes to a common code base. When the merge algorithm fails, this is called a merge conflict. The conflict either manifests as a textual merge conflict where the merge fails to produce code, or as a semantic merge conflict where the merged code results in compiler errors or broken tests. Resolving these conflicts for large code projects is expensive because it requires developers to manually identify the sources of conflicts and correct them. In this paper, we explore the feasibility of automatically repairing merge conflicts (both textual and semantic) using k-shot learning with pre-trained large neural language models (LM) such as GPT-3. One of the challenges in leveraging such language models is fitting the examples and the queries within a small prompt (2048 tokens). We evaluate LMs and k-shot learning for both textual and semantic merge conflicts for Microsoft Edge. Our results are mixed: on one-hand, LMs provide the state-of-the-art (SOTA) performance on semantic merge conflict resolution for Edge compared to earlier symbolic approaches; on the other hand, LMs do not yet obviate the benefits of special purpose domain-specific languages (DSL) for restricted patterns for program synthesis. Jialu Zhang 0002, Todd Mytkowicz, Mike Kaufman, Ruzica Piskac, Shuvendu K. Lahiri |
ISSTA | 3 |
| 2021 | Can Program Synthesis be Used to Learn Merge Conflict Resolutions? An Empirical AnalysisabstractForking structure is widespread in the open-source repositories and that causes a significant number of merge conflicts. In this paper, we study the problem of textual merge conflicts from the perspective of Microsoft Edge, a large, highly collaborative fork off the main Chromium branch with significant merge conflicts. Broadly, this study is divided into two sections. First, we empirically evaluate textual merge conflicts in Microsoft Edge and classify them based on the type of files, location of conflicts in a file, and the size of conflicts. We found that ~28% of the merge conflicts are 1-2 line changes, and many resolutions have frequent patterns. Second, driven by these findings, we explore Program Synthesis (for the first time) to learn patterns and resolve structural merge conflicts. We propose a novel domain-specific language (DSL) that captures many of the repetitive merge conflict resolution patterns and learn resolution strategies as programs in this DSL from example resolutions. We found that the learned strategies can resolve 11.4% of the conflicts (~41% of 1-2 line changes) that arise in the C++ files with 93.2% accuracy. Rangeet Pan, Vu Le 0002, Nachiappan Nagappan, Sumit Gulwani, Shuvendu K. Lahiri, Mike Kaufman |
ICSE | 6 |