Demo Data from EDBT 2026 / reviewers in the wild / expert
Georg Seibt
dblp:207/7157
· DBLP profile ↗
3ranked-venue papers
1as first author
1since 2021 · last 2022
0000-0003-1349-9851ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 1 first-author · 1 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
3 papers |
Software maintenance and evolution · 89% Empirical software engineering · 7% Program analysis · 4% |
Topics — the 5 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution
software merging |
1.0 | 2 | 2022 | Leveraging Structure in Software Merge: An Empirical Study · IEEE Trans. Software Eng. 2022 The Impact of Structure on Software Merging: Semistructured Versus Structured Merge · ASE 2019 |
Software maintenance and evolution › software merging
structured merge |
0.7 | 2 | 2019 | The Impact of Structure on Software Merging: Semistructured Versus Structured Merge · ASE 2019 Renaming and shifted code in structured merging: looking ahead for precision and performance · ASE 2017 |
Software maintenance and evolution › software configuration management
version control |
0.5 | 2 | 2022 | Renaming and shifted code in structured merging: looking ahead for precision and performance · ASE 2017 Leveraging Structure in Software Merge: An Empirical Study · IEEE Trans. Software Eng. 2022 |
Empirical software engineering
mining software repositories |
0.2 | 1 | 2022 | Leveraging Structure in Software Merge: An Empirical Study · IEEE Trans. Software Eng. 2022 |
Program analysis › program representation
abstract syntax tree analysis |
0.1 | 1 | 2017 | Renaming and shifted code in structured merging: looking ahead for precision and performance · ASE 2017 |
Methods — techniques the papers use, named apart from their topics
test suite oracle · 0.6structured merge · 0.6semistructured merge · 0.6empirical study · 0.4syntax-aware lookahead · 0.3heuristic tree matching · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | Leveraging Structure in Software Merge: An Empirical StudyabstractLarge-scale software development today relies heavily on version control systems facilitating distributed development of software projects. For the purpose of merging diverging versions of the code base, version control systems employ line-based merge algorithms, which are applicable to all text files. Structured merge algorithms have been proposed as an alternative to unstructured, line-based merging, with the goal of reducing the number of merge conflicts that have to be manually resolved by the developer. By leveraging the structure inherent in source code (i.e., by representing source code files in terms of abstract syntax trees instead of sequences of text lines), these algorithms are able to merge revisions in various situations (e.g., reordering of methods) that would cause conflicts when merged using an unstructured approach. However, merging abstract syntax trees is inherently more complex than merging sequences of text lines, which makes structured merge algorithms computationally more expensive than an unstructured merge. To reduce the runtime cost of structured merge algorithms, semistructured merge as well as combinations of different merge strategies were proposed. As such, we observe a range of increasingly structured merge algorithms, which feature different characteristics in terms of conflict resolution and runtime. The progressively increasing use of structure to avoid merge conflicts or to automate conflict resolution raises a number of questions: How is the correctness of the code resulting from a merge affected when employing structured merge algorithms? Which algorithm strikes the best balance between runtime, conflict resolution potential, and correctness of the merge result? For the first time, we evaluate a whole range of merge algorithms (from unstructured over semistructured to structured as well as combinations) by replaying merge commits in a controlled setting. We employ the test suite of the projects in question as an oracle for the correctness of the resulting code, triangulated by a thorough manual analysis. Using 7727 merge commits from 10 open-source projects, we find that combined strategies appear to be the best of both worlds: They resolve as many conflicts as structured merge at a significantly lower runtime per merge commit. Notably, structured merge strategies do cause more test failures, however, the increase is small. Georg Seibt, Florian Heck, Guilherme Cavalcanti, Paulo Borba, Sven Apel |
IEEE Trans. Software Eng. | 1 |
| 2019 | The Impact of Structure on Software Merging: Semistructured Versus Structured MergeabstractMerge conflicts often occur when developers concurrently change the same code artifacts. While state of practice unstructured merge tools (e.g Git merge) try to automatically resolve merge conflicts based on textual similarity, semistructured and structured merge tools try to go further by exploiting the syntactic structure and semantics of the artifacts involved. Although there is evidence that semistructured merge has significant advantages over unstructured merge, and that structured merge reports significantly fewer conflicts than unstructured merge, it is unknown how semistructured merge compares with structured merge. To help developers decide which kind of tool to use, we compare semistructured and structured merge in an empirical study by reproducing more than 40,000 merge scenarios from more than 500 projects. In particular, we assess how often the two merge strategies report different results, we identify conflicts incorrectly reported by one but not by the other (false positives), and conflicts correctly reported by one but missed by the other (false negatives). Our results show that semistructured and structured merge differ in 24% of the scenarios with conflicts. Semistructured merge reports more false positives, whereas structured merge has more false negatives. Finally, we found that adapting a semistructured merge tool to resolve a particular kind of conflict makes semistructured and structured merge even closer. Guilherme Cavalcanti, Paulo Borba, Georg Seibt, Sven Apel |
ASE | 3 |
| 2017 | Renaming and shifted code in structured merging: looking ahead for precision and performanceabstractDiffing and merging of source-code artifacts is an essential task when integrating changes in software versions. While state-of-the-art line-based merge tools (e.g., git merge) are fast and independent of the programming language used, they have only a low precision. Recently, it has been shown that the precision of merging can be substantially improved by using a language-aware, structured approach that works on abstract syntax trees. But, precise structured merging is NP hard, especially, when considering the notoriously difficult scenarios of renamings and shifted code. To address these scenarios without compromising scalability, we propose a syntax-aware, heuristic optimization for structured merging that employs a lookahead mechanism during tree matching. The key idea is that renamings and shifted code are not arbitrarily distributed, but their occurrence follows patterns, which we address with a syntax-specific lookahead. Our experiments with 48 real-world open-source projects (4,878 merge scenarios with over 400 million lines of code) demonstrate that we can significantly improve matching precision in 28 percent of cases while maintaining performance. Olaf Leßenich, Sven Apel, Christian Kästner, Georg Seibt, Janet Siegmund |
ASE | 4 |