Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Georg Seibt

dblp:207/7157 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
software merging
1.022022
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.722019
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.522022
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.212022
Leveraging Structure in Software Merge: An Empirical Study · IEEE Trans. Software Eng. 2022
Program analysis › program representation
abstract syntax tree analysis
0.112017
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
YearPublicationVenuePosition
2022 Leveraging Structure in Software Merge: An Empirical Study
abstract
Large-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 Merge
abstract
Merge 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
ASE3
2017 Renaming and shifted code in structured merging: looking ahead for precision and performance
abstract
Diffing 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
ASE4