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

Olaf Leßenich

dblp:120/0752 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
1since 2021 · last 2023
0000-0002-8996-1996ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 4 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 · 74% Empirical software engineering · 20% Program analysis · 5%
Human-computer interaction and pervasive computing
1 paper
Collaborative and social computing · 100%

Topics — the 7 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › software merging
structured merge
0.422017
Renaming and shifted code in structured merging: looking ahead for precision and performance · ASE 2017
Structured merge with auto-tuning: balancing precision and performance · ASE 2012
Software maintenance and evolution
forking
0.312018
Identifying features in forks · ICSE 2018
Empirical software engineering
mining software repositories
0.312018
Identifying features in forks · ICSE 2018
Software maintenance and evolution › software configuration management
version control
0.312017
Renaming and shifted code in structured merging: looking ahead for precision and performance · ASE 2017
Software maintenance and evolution
software merging
0.112012
Structured merge with auto-tuning: balancing precision and performance · ASE 2012
Collaborative and social computing › peer production
open source communities
0.112018
Identifying features in forks · ICSE 2018
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

network analysis · 0.7information retrieval · 0.7clustering · 0.7syntax-aware lookahead · 0.3heuristic tree matching · 0.3unstructured merge · 0.1online tuning · 0.1
YearPublicationVenuePosition
2023 Usefulness and usability of heuristic walkthroughs for evaluating domain-specific developer tools in industry: Evidence from four field simulations
abstract
The usage of domain-specific languages (DSLs) is an approach to reduce complexity in software development by expert developers for selected application domains. To support expert developers, a DSL is often combined with a tailored, domain-specific developer tool, offering similar functionality as general-purpose programming environments (IDEs like Eclipse for Java) while integrating with a domain-specific toolchain (e.g., code or documentation generators, simulators). General-purpose development environments have been successfully evaluated for the programmer experience (PX) and for anomalies using heuristic walkthroughs as a mixed review technique combining cognitive walkthroughs and a heuristic evaluation. In this paper, we report on the usefulness and acceptance of heuristic walkthroughs as an PX evaluation technique applied to domain-specific languages and IDEs in an industry context. Heuristic walkthroughs are used in four interventions (field simulations) to assess the programming experience and usability of domain-specific, Eclipse-based IDEs in a concrete industry setting. Data on the usefulness and acceptance (perceived satisfaction) of the walkthroughs themselves are collected and analysed. Our studies show that, in practice, the instrument of walkthroughs is useful for revealing practically relevant PX anomalies, while maintaining acceptance by practitioners participating in the walkthroughs. The documented variant of heuristic walkthroughs is eligible to become adopted for future field studies in academic research and for evaluation projects in industry, in support of developing domain-specific developer tooling in an evidence-driven manner.
Olaf Leßenich, Stefan Sobernig
Inf. Softw. Technol.1
2018 Identifying features in forks
abstract
Fork-based development has been widely used both in open source communities and in industry, because it gives developers flexibility to modify their own fork without affecting others. Unfortunately, this mechanism has downsides: When the number of forks becomes large, it is difficult for developers to get or maintain an overview of activities in the forks. Current tools provide little help. We introduce Infox, an approach to automatically identify non-merged features in forks and to generate an overview of active forks in a project. The approach clusters cohesive code fragments using code and network-analysis techniques and uses information-retrieval techniques to label clusters with keywords. The clustering is effective, with 90 % accuracy on a set of known features. In addition, a human-subject evaluation shows that Infox can provide actionable insight for developers of forks.
Shurui Zhou, Stefan Stanciulescu, Olaf Leßenich, Yingfei Xiong 0001, Andrzej Wasowski, Christian Kästner
ICSE3
2018 Indicators for merge conflicts in the wild: survey and empirical study
Olaf Leßenich, Janet Siegmund, Sven Apel, Christian Kästner, Claus Hunsen
Autom. Softw. Eng.1
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
ASE1
2016 Preprocessor-based variability in open-source and industrial software systems: An empirical study
Claus Hunsen, Bo Zhang 0014, Janet Siegmund, Christian Kästner, Olaf Leßenich, Martin Becker 0002, Sven Apel
Empir. Softw. Eng.5
2015 Balancing precision and performance in structured merge
Olaf Leßenich, Sven Apel, Christian Lengauer
Autom. Softw. Eng.1
2012 Structured merge with auto-tuning: balancing precision and performance
abstract
Software-merging techniques face the challenge of finding a balance between precision and performance. In practice, developers use unstructured-merge (i.e., line-based) tools, which are fast but imprecise. In academia, many approaches incorporate information on the structure of the artifacts being merged. While this increases precision in conflict detection and resolution, it can induce severe performance penalties. Striving for a proper balance between precision and performance, we propose a structured-merge approach with auto-tuning. In a nutshell, we tune the merge process on-line by switching between unstructured and structured merge, depending on the presence of conflicts. We implemented a corresponding merge tool for Java, called JDime. Our experiments with 8 real-world Java projects, involving 72 merge scenarios with over 17 million lines of code, demonstrate that our approach indeed hits a sweet spot: While largely maintaining a precision that is superior to the one of unstructured merge, structured merge with auto-tuning is up to 12 times faster than purely structured merge, 5 times on average.
Sven Apel, Olaf Leßenich, Christian Lengauer
ASE2