Demo Data from SIGIR 2026 / reviewers in the wild / expert
Thomas Leich
dblp:00/3032
· DBLP profile ↗
55ranked-venue papers
1as first author
21since 2021 · last 2026
0000-0001-9580-7728ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 42 · 12 since 2021Databases, data management, data science and information retrieval · 9 · 1 first-author · 5 since 2021Artificial intelligence and machine learning · 8Applied, interdisciplinary, general and emerging computing · 7Systems, architecture and hardware · 2 · 2 since 2021Security and privacy · 1 · 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
9 papers |
Software maintenance and evolution · 35% Empirical software engineering · 26% Requirements engineering and software design · 22% |
Topics — the 10 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software maintenance and evolution
program comprehension |
1.2 | 5 | 2020 | A Look into Programmers' Heads · IEEE Trans. Software Eng. 2020 Effects of explicit feature traceability on program comprehension · ESEC/SIGSOFT FSE 2019 Understanding understanding source code with functional magnetic resonance imaging · ICSE 2014 |
Empirical software engineering
developer studies |
0.9 | 5 | 2020 | Do you remember this source code? · ICSE 2018 Understanding understanding source code with functional magnetic resonance imaging · ICSE 2014 Toward measuring program comprehension with functional magnetic resonance imaging · SIGSOFT FSE 2012 |
Requirements engineering and software design › software process
software process measurement |
0.4 | 1 | 2020 | Establishing key performance indicators for measuring software-development processes at a large organization · ESEC/SIGSOFT FSE 2020 |
Debugging and program repair › fault localization
bug localization |
0.4 | 1 | 2019 | Effects of explicit feature traceability on program comprehension · ESEC/SIGSOFT FSE 2019 |
Requirements engineering and software design › software product lines
feature-oriented software development |
0.2 | 2 | 2009 | FeatureIDE: A tool framework for feature-oriented software development · ICSE 2009 Aspectual mixin layers: aspects and features in concert · ICSE 2006 |
Programming languages and type systems
aspect-oriented programming |
0.1 | 2 | 2008 | Aspectual Feature Modules · IEEE Trans. Software Eng. 2008 Aspectual mixin layers: aspects and features in concert · ICSE 2006 |
Requirements engineering and software design
software design tools |
0.1 | 1 | 2009 | FeatureIDE: A tool framework for feature-oriented software development · ICSE 2009 |
Requirements engineering and software design
software product lines |
0.1 | 1 | 2009 | FeatureIDE: A tool framework for feature-oriented software development · ICSE 2009 |
Programming languages and type systems › programming paradigms
feature-oriented programming |
0.1 | 1 | 2008 | Aspectual Feature Modules · IEEE Trans. Software Eng. 2008 |
Empirical software engineering › developer studies
cognitive processes |
0.0 | 1 | 2012 | Toward measuring program comprehension with functional magnetic resonance imaging · SIGSOFT FSE 2012 |
Methods — techniques the papers use, named apart from their topics
functional magnetic resonance imaging · 0.8replication study · 0.4practitioner experience report · 0.4case study · 0.4controlled experiment · 0.4version control system data extraction · 0.3survey · 0.3tool framework · 0.1feature-oriented programming · 0.1aspect-oriented programming · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | A methodology for Electrics/Electronics platform release management in the automotive domainabstractPlatform strategies, originating from pure hardware platforms, have proven effective in optimizing development processes in the automotive domain. Over time, software-driven innovations have emerged as the primary origin of novel features in automotive systems, as exemplified by functionalities like lane-keeping assistants, traffic-sign recognition, and the prospect of autonomous driving. To address the growing importance of software, automotive manufacturers progressively incorporate principles of software-platform engineering, for instance, by adopting software product lines. However, a notable gap still persists in thoroughly managing all facets of a cyber–physical automotive system, which involves hardware, software, electronics, variability, and their complex interactions. Efforts to address this gap and to achieve holistic platform management have resulted in electrics/electronics platforms to emerge in the automotive domain; but these platforms and transitioning towards them have not been fully worked out, yet. In this article, we contribute to addressing this gap by proposing a methodology for holistic electrics/electronics platform release management. We present detailed explanations of our methodology and its individual guidelines, which we derived from practical requirements and subsequently validated through expert assessments. Specifically, we conducted a series of workshops involving eight practitioners at a large international automotive manufacturer. Our methodology and insights can help other researchers and practitioners who work on adopting electrics/electronics platform management and emphasize possible directions for future research. Lennart Holsten, Jacob Krüger, Thomas Leich |
J. Syst. Softw. | 3 |
| 2026 | Decision making for automotive-platform engineering: A mixed-methods study on practitioners' requirements and criteriaabstract• Software has become a primary concern in the automotive industry. • There is a lack of decision-making support for managing automotive platforms. • Practitioners need efficient processes and tools for product-structuring concepts. • We prioritize requirements for decision making for electrics/electron platforms. With modern vehicles becoming increasingly software driven, long-standing automotive manufacturers face challenges in integrating software into their historically hardware-centered platforms. Even though hardware and software platforms leverage the same ideas, manufacturers must still unify hardware, software, and electrics/electron components; as well as their intricate interconnections and variability. To address this challenge, automotive manufacturers are adopting product-structuring and variant-management concepts from different areas to develop a holistic platform perspective. Here, particularly decision making has manifested as a key problem to inform the involved stakeholders and assess different options. Specifically, simply adding software to a static hardware platform is insufficient to address the current digital transformation in the automotive industry: the new platform dimensions must be understood, changes balanced against each other, and necessary rework defined to achieve holistic platform management. In this article, we contribute to tackling this problem by presenting a mixed-method study through which we derived a set of requirements to support decision-making for today’s automotive electrics/electron platforms. We used requirements and insights from our previous work, which we refined and validated via expert workshops and a questionnaire with 76 experts from the automotive industry. Besides confirming and validating our previous work, we contribute a new consolidated overview of requirements and criteria together with a prioritization by practitioners. The findings of our work offer valuable guidance for automotive practitioners, particularly for adopting product-structuring concepts like electrics/electron platforms and making decisions in the process. Our contributions further substantiate existing evidence and can guide research on developing decision-making techniques for complex electrics/electron platforms. Philipp Zellmer, Jacob Krüger, Thomas Leich |
J. Syst. Softw. | 3 |
| 2025 | A Comparative Analysis of Support Techniques for Assessing the Quality of Systematic Literature ReviewsabstractThe rapidly growing number of scientific publications poses numerous challenges for researchers engaged in literature analyses. Structured methodologies like systematic literature reviews are becoming increasingly expensive, considering their attempt to cover all relevant publications. Despite the increasing efforts needed, the importance of literature reviews also leads to an increasing growth in their number. While there are support techniques (e.g., guidelines, tools, checklists) for conducting literature analyses, a concise and clear overview of such techniques for assessing the quality of the analysis itself is missing. Such an overview can help researchers identify techniques for their work, understand ambiguities between them, support peer reviews, and guide future research by highlighting open gaps. In this paper, we address this lack of an overview by identifying existing techniques for assessing the quality of systematic literature reviews, comparing their properties, and discussing their pros and cons. For this purpose, we elicited 14 techniques through a systematic literature search covering 15 years (2007–2021). Overall, our contributions can help researchers identify feasible techniques for assessing the quality of literature analyses and can guide the development of new techniques, thereby facilitating the conduct and improving the quality of literature analyses. Rand Alchokr, Athul Sunilkumar, Gunter Saake, Thomas Leich, Jacob Krüger |
TPDL | 4 |
| 2025 | Faster Implementation Time Through Interoperability: Let's Prove it!abstractStandardized connections are intended to reduce implementation time. This is achieved through approaches such as the Asset Administration Shell (AAS). Although there is a substantial amount of literature on how this can be accomplished with solutions like the AAS, there are no quantitative studies indicating the extent to which standardization can reduce implementation time. We aim to demonstrate this through an experiment. We believe it is important to engage the community in a critical discussion about the experiment design before we proceed with its execution. This paper examines two designs of experiments to measure implementation time in comparison to manufacture-specific interfaces.Many issues concerning the setup are open for discussion. It becomes clear that to achieve a valid measurement, multiple experiments must be conducted at various field levels and with different experimental subjects. We want to encourage researchers to engage this dialogue and these studies. Future research will execute the presented experiments. Johannes Mäule, Frank Leinenbach, Thomas Leich, Christian Diedrich |
ETFA | 3 |
| 2025 | Adopting Artificial-Intelligence Systems in Manufacturing: A Practitioner Survey on Challenges and Added Value
Richard May 0003, Leonard Cassel, Hashir Hussain, Muhammad Talha Siddique, Tobias Niemand, Paul Scholz, Thomas Leich |
ICSOFT | 7 |
| 2025 | Integrating Security into the Product-Line-Engineering Framework: A Security-Engineering Extension
Christian Biermann, Richard May 0003, Thomas Leich |
ICSOFT | 3 |
| 2024 | SoK: How Artificial-Intelligence Incidents Can Jeopardize Safety and SecurityabstractIn the past years, a growing number of highly-automated systems has build on Artificial-Intelligence (AI) capabilities, for example, self-driving vehicles or predictive health-state diagnoses. As for any software system, there is a risk that misbehavior occurs (e.g., system failure due to bugs) or that malicious actors aim to misuse the system (e.g., generating attack scripts), which can lead to safety and security incidents. While software safety and security incidents have been studied in the past, we are not aware of research focusing on the specifics of AI incidents. With this paper, we aim to shed light on this gap through a case survey of 240 incidents that we elicited from four datasets comprising safety and security incidents involving AI from 2014 to 2023. Using manual data analyses and automated topic modeling, we derived relevant topics as well as the major issues and contexts in which the incidents occurred. We find that the topic of AI incidents is, not surprisingly, becoming more and more relevant, particularly in the contexts of autonomous driving and process-automation robotics. Regarding security and its intersection with safety, most incidents connect to generative AI (i.e., large-language models, deep fakes) and computer-vision systems (i.e., facial recognition). This emphasizes the importance of security to also ensure safety in the context of AI systems, with our results further revealing a high number of serious consequences (system compromise, human injuries) and major violations of confidentiality, integrity, availability, as well as authorization. We hope to support practitioners and researchers in understanding major safety and security issues to support the development of more secure, safe, and trustworthy AI systems. Richard May 0003, Jacob Krüger, Thomas Leich |
ARES | 3 |
| 2024 | Scholarly Quality Measurements: A Systematic Literature Review
Rand Alchokr, Abhishek Gopalrao, Gunter Saake, Thomas Leich, Jacob Krüger |
TPDL (1) | 4 |
| 2024 | Unified Namespace and Asset Administration Shell: A Winning Combination for Digital ProductionabstractModern production systems demands advanced data networking. Concepts like the unified namespace help in reconfiguring the data flow of different hierarchy levels into a centralized data space. This data space connects data stakeholders, including Manufacturing Execution System and Supervisory Control and Data Acquisition systems on one side, and assets, sensors, and actuators on the other. The lack of standardization leads to individualistic solutions in the existing solutions. The concept of the Asset Administration Shell provides standardization for asset-specific data. This paper presents the design and implementation of a “AAS-based Unified Namespace” concept leveraging the Asset Administration Shell, along with a standardized structure based on ISA-95. The focus of this work is on the effective handling of event data for its relevance in real-time decision-making. Therefore, we focus on the effective handling of event data. Johannes Mäule, Tobias Kutzler, Thomas Leich, Denes Schäfer |
ETFA | 3 |
| 2024 | Product-Line Engineering for Smart Manufacturing: A Systematic Mapping Study on Security Concepts
Richard May 0003, Alen John Alex, Rakky Suresh, Thomas Leich |
ICSOFT | 4 |
| 2024 | Pandemic startup software engineering: An experience report on the development of a COVID-19 certificate verification systemabstractThe COVID-19 virus has caused a global pandemic that has heavily impacted daily life. Rapid advances in testing and vaccinating led to an additional use case besides the well-known contact-tracing apps: certificate-verification systems. Verification systems are often commissioned by local authorities to enable more public life, and are often developed by smaller organizations or startups. So, the development of verification systems differs from other software projects, featuring interesting and unique properties. In this article, we present an experience report on the development of one verification system by a German startup, focusing on three properties: working in a pandemic, developing a product for handling a pandemic, and the startup context. To this end, we surveyed nine startup developers and analyzed the results with two experts from the startup. We found that the developers focused on fast delivery to cope with the time pressure of releasing the verification system, which is why some phases of typical development processes were hardly carried out. As a result, while the verification system is successful, we also identified negative effects of the properties (e.g., programming mistakes, well-being). We discuss our findings to guide researchers and practitioners in preparing for software engineering in future emergencies. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board. Richard May 0003, Niklas Baron, Jacob Krüger, Thomas Leich |
J. Syst. Softw. | 4 |
| 2023 | Investigating the Relation Between Authors' Academic Age and Their Citations
Rand Alchokr, Sanket Vikas Joshi, Gunter Saake, Thomas Leich, Jacob Krüger |
TPDL | 4 |
| 2023 | A Systematic Mapping Study on Security in Configurable Safety-Critical Systems Based on Product-Line Concepts
Richard May 0003, Jyoti Gautam, Christian Biermann, Thomas Leich |
ICSOFT | 5 |
| 2023 | Design Patterns for Monitoring and Prediction Machine Learning Systems: Systematic Literature Review and Cluster Analysis
Richard May 0003, Tobias Niemand, Paul Scholz, Thomas Leich |
ICSOFT | 4 |
| 2022 | Peer-Reviewing and Submission Dynamics Around Top Software-Engineering Venues: A Juniors' PerspectiveabstractAcademic research, by its nature, is notorious for being a challenging and demanding field. However, these challenges may become more complicated for certain groups of researchers rather than others. For instance, junior researchers who make up a large group of the current scientific community, particularly in the computer science domain, may face various types of impediments. A notable hindrance to realizing the impediments is the difficulty of precisely delineating them. In this paper, we report an empirical investigation to measure the level of awareness of any kind of obstacles that might hinder junior researchers’ publishing ability and disturb their involvement. For this purpose, we conducted a survey targeting active researchers from the Software Engineering field with a total of 52 respondents. We mainly focus on two types of aspects: peer reviewing models and collaboration. Our findings indicate that junior researchers seem to be more comfortable with double-blind reviewing models with more than half (approximately 67.2%) of them voting in favor of this model. The results also show a significant agreement that a lack of experience especially in academic writing and supervision problems constitute the most influential barriers to publishing. Our findings can help understand the needs of junior researchers and provide insights into our research community and its specific groups. Rand Alchokr, Jacob Krüger, Yusra Shakeel, Gunter Saake, Thomas Leich |
EASE | 5 |
| 2022 | Incorporating Altmetrics to Support Selection and Assessment of Publications During Literature AnalysesabstractBackground. The constantly increasing number of scientific publications poses challenges for researchers to monitor, select, and assess the publications relevant for their own research. Several guidelines for assessing publications manually during a literature analysis exist, with researchers proposing (semi-)automated techniques to facilitate such assessments. Aims. Still, research indicates that current techniques require further improvements to facilitate the analysis of large sets of publications. In this paper, we propose a semi-automatic technique with which we aim to improve in this direction by facilitating the selection and assessment of publications. Method. Our technique uses publicly available data of a publication, namely citation counts, article-level metrics, venue metrics, and altmetrics, to guide an analyst in assessing its relevance and impact. To evaluate the feasibility of our technique and the included metrics, we performed an experimental analysis to automatically assign ratings to the retrieved publications. Results. The results indicate that our technique can help an analyst in assessing publications, and reduce manual effort. Through our technique, we achieve an average accuracy of 53 % with a recall of 71 %. While precision (14 %) and F1-score (21 %) are—not surprisingly, due to the high number of irrelevant results returned by automatic searches in digital libraries—low, we see an improvement of these values for more recent reviews for which we could collect more complete data. However, some manual effort is still required for the final selection of papers. Conclusions. While it is not possible to achieve full automation for selecting and quality assessing publications, we can see that our metrics-based technique can be a helpful means to provide an initial rating for the analyst. Also, incorporating altmetrics seems to be a promising addition to rate comparably recent publications, helping researchers to further facilitate the execution of literature analyses. Yusra Shakeel, Rand Alchokr, Jacob Krüger, Thomas Leich, Gunter Saake |
EASE | 4 |
| 2022 | A Closer Look into Collaborative Publishing at Software-Engineering Conferences
Rand Alchokr, Jacob Krüger, Yusra Shakeel, Gunter Saake, Thomas Leich |
TPDL | 5 |
| 2022 | Weighted Altmetric Scores to Facilitate Literature Analyses
Yusra Shakeel, Abhisar Bharti, Thomas Leich, Gunter Saake |
TPDL | 3 |
| 2022 | Are Altmetrics Useful for Assessing Scientific Impact?: A SurveyabstractThe rapidly expanding corpus of scientific publications poses various types of challenges for researchers, mostly concerning the selection and assessment of publications relevant to their research topic. Therefore, the scientific community is actively involved in proposing solutions for effectively retrieving promising publications. Traditional bibliometrics, such as citations, are most commonly used for evaluating the research impact of a publication, in spite of rightful criticism. More recently, the newly introduced altmetrics (e.g., Tweets) have gained popularity and are constantly being investigated to understand their usefulness and potential benefits for assessing the significance of publications. Researchers argue that altmetrics can be used to reflect the importance of a publication beyond the boundaries of traditional bibliometrics. However, it is important to be aware of the limitations and threats arising from altmetrics, too. In this paper, we present a survey analysis to understand the usefulness of altmetrics and determine their ability of being used as quality indicators for scientific research. Based on the findings, we discuss whether altmetrics can support the quality assessment during literature analyses to assist the analyst by reducing the required time and manual effort. Yusra Shakeel, Rand Alchokr, Jacob Krüger, Thomas Leich, Gunter Saake |
MEDES | 4 |
| 2021 | How Explicit Feature Traces Did Not Impact Developers' MemoryabstractSoftware features are intuitive entities used to abstract and manage the functionalities of a software system, for instance, in product-line engineering and agile software development. Nonetheless, developers rarely make features explicit in code, which is why they have to perform costly program comprehension and particularly feature location to (re-)gain knowledge about the code. In a previous paper, we conducted an experiment on how explicit feature traces impact developers' program comprehension by facilitating feature location. We found that annotating features in code improved program comprehension, while decomposing them into classes had a negative impact. Additionally, but not reported in that paper, we were concerned with understanding whether the different traces would impact developers' memory regarding the code and its features. To this end, we repeatedly asked our participants questions about the code on different levels of detail within time periods of two weeks. Since developers' memory decays over time, we expected that our participants would provide fewer correct answers over time, with differences depending on the feature traces in their code. Unfortunately, the actual results were inconclusive and up for interpretation, particularly due to challenges in designing an experiment on developers' memory. In this paper, we discuss our experimental design, the null results, and challenges for improving the methodology of future studies in this direction. Jacob Krüger, Gül Çalikli, Thorsten Berger, Thomas Leich |
SANER | 4 |
| 2021 | variED: an editor for collaborative, real-time feature modelingabstractAbstract Feature models are a helpful means to document, manage, maintain, and configure the variability of a software system, and thus are a core artifact in software product-line engineering. Due to the various purposes of feature models, they can be a cross-cutting concern in an organization, integrating technical and business aspects. For this reason, various stakeholders (e.g., developers and consultants) may get involved into modeling the features of a software product line. Currently, collaboration in such a scenario can only be done with face-to-face meetings or by combining single-user feature-model editors with additional communication and version-control systems. While face-to-face meetings are often costly and impractical, using version-control systems can cause merge conflicts and inconsistency within a model, due to the different intentions of the involved stakeholders. Advanced tools that solve these problems by enabling collaborative, real-time feature modeling, analogous to Google Docs or Overleaf for text editing, are missing. In this article, we build on a previous paper and describe (1) the extended formal foundations of collaborative, real-time feature modeling, (2) our conflict resolution algorithm in more detail, (3) proofs that our formalization converges and preserves causality as well as user intentions, (4) the implementation of our prototype, and (5) the results of an empirical evaluation to assess the prototype’s usability. Our contributions provide the basis for advancing existing feature-modeling tools and practices to support collaborative feature modeling. The results of our evaluation show that our prototype is considered helpful and valuable by 17 users, also indicating potential for extending our tool and opportunities for new research directions. Elias Kuiter, Sebastian Krieter, Jacob Krüger, Gunter Saake, Thomas Leich |
Empir. Softw. Eng. | 5 |
| 2020 | Establishing key performance indicators for measuring software-development processes at a large organizationabstractDeveloping software systems in large organizations requires the cooperation of various organizational units and stakeholders. As software-development processes are distributed among such organizational units; and are constantly transformed to fulfill new domain regulations, address changing customer requirements, or adopt new software-engineering methods; it is challenging to ensure, measure, and steer—essentially monitor—the quality of the resulting systems. One means to facilitate such monitoring throughout whole software-development processes are key performance indicators, which provide a consolidated analysis of an organizations’ performance. However, it is also challenging to introduce key performance indicators for the software development of a large organization, as they must be implemented at and accepted by all relevant organizational units. In this paper, we report our experiences of introducing new key performance indicators for software-development processes at Volkswagen Financial Services AG, a large organization in the financial sector. We describe i) our methodology; ii) how we customized and use key performance indicators; iii) benefits achieved, namely improved monitoring and comparability, which help to define quality-improving actions; iv) and six lessons learned. These insights are helpful for other practitioners, providing an overview of a methodology they can adopt to assess the feasibility of key performance indicators as well as their benefits. Moreover, we hope to motivate research to investigate methods for introducing and monitoring key performance indicators to facilitate their adoption. Cem Sürücü, Bianying Song, Jacob Krüger, Gunter Saake, Thomas Leich |
ESEC/SIGSOFT FSE | 5 |
| 2020 | Search. Review. Repeat? An empirical study of threats to replicating SLR searches
Jacob Krüger, Christian Lausberger, Ivonne von Nostitz-Wallwitz, Gunter Saake, Thomas Leich |
Empir. Softw. Eng. | 5 |
| 2020 | A Look into Programmers' HeadsabstractProgram comprehension is an important, but hard to measure cognitive process. This makes it difficult to provide suitable programming languages, tools, or coding conventions to support developers in their everyday work. Here, we explore whether functional magnetic resonance imaging (fMRI) is feasible for soundly measuring program comprehension. To this end, we observed 17 participants inside an fMRI scanner while they were comprehending source code. The results show a clear, distinct activation of five brain regions, which are related to working memory, attention, and language processing, which all fit well to our understanding of program comprehension. Furthermore, we found reduced activity in the default mode network, indicating the cognitive effort necessary for program comprehension. We also observed that familiarity with Java as underlying programming language reduced cognitive effort during program comprehension. To gain confidence in the results and the method, we replicated the study with 11 new participants and largely confirmed our findings. Our results encourage us and, hopefully, others to use fMRI to observe programmers and, in the long run, answer questions, such as: How should we train programmers? Can we train someone to become an excellent programmer? How effective are new languages and tools for program comprehension? Norman Peitek, Janet Siegmund, Sven Apel, Christian Kästner, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, André Brechmann |
IEEE Trans. Software Eng. | 7 |
| 2019 | Effects of explicit feature traceability on program comprehensionabstractDevelopers spend a substantial amount of their time with program comprehension. To improve their comprehension and refresh their memory, developers need to communicate with other developers, read the documentation, and analyze the source code. Many studies show that developers focus primarily on the source code and that small improvements can have a strong impact. As such, it is crucial to bring the code itself into a more comprehensible form. A particular technique for this purpose are explicit feature traces to easily identify a program’s functionalities. To improve our empirical understanding about the effects of feature traces, we report an online experiment with 49 professional software developers. We studied the impact of explicit feature traces, namely annotations and decomposition, on program comprehension and compared them to the same code without traces. Besides this experiment, we also asked our participants about their opinions in order to combine quantitative and qualitative data. Our results indicate that, as opposed to purely object-oriented code: (1) annotations can have positive effects on program comprehension; (2) decomposition can have a negative impact on bug localization; and (3) our participants perceive both techniques as beneficial. Moreover, none of the three code versions yields significant improvements on task completion time. Overall, our results indicate that lightweight traceability, such as using annotations, provides immediate benefits to developers during software development and maintenance without extensive training or tooling; and can improve current industrial practices that rely on heavyweight traceability tools (e.g., DOORS) and retroactive fulfillment of standards (e.g., ISO-26262, DO-178B). Jacob Krüger, Gül Çalikli, Thorsten Berger, Thomas Leich, Gunter Saake |
ESEC/SIGSOFT FSE | 4 |
| 2019 | Commenting source code: is it worth it for small programming tasks?
Sebastian Nielebock 0001, Dariusz Krolikowski, Jacob Krüger, Thomas Leich, Frank Ortmeier |
Empir. Softw. Eng. | 4 |
| 2019 | Mutation operators for feature-oriented software product linesabstractSummary Mutation testing is an approach to assess the quality of test cases. Mutants are modified versions of a system that ideally compose faulty behaviour. Test cases for a system are effective if they kill these mutants. For software product lines, several works have addressed mutation testing to inject variability faults, which may only exist in some variants. These works focus on variability models or specific implementation techniques. In contrast, feature‐oriented programming has been rarely investigated, wherefore, we (1) derive corresponding mutation operators, (2) investigate the feasibility of our proposed and conventional operators on 4 software product lines, and (3) discuss open challenges in mutation testing of software product lines. The results show that our proposed operators are suitable to cause variability faults and extend the capabilities of conventional operators. Nonetheless, mutation testing of software product lines is comparably expensive, due to a high number of variants and mutants—resulting in equivalence and redundancy. Jacob Krüger, Mustafa Al-Hajjaji, Thomas Leich, Gunter Saake |
Softw. Test. Verification Reliab. | 3 |
| 2018 | Exploring Large Scholarly Networks with Hermes
Gabriel Campero Durand, Anusha Janardhana, Marcus Pinnecke, Yusra Shakeel, Jacob Krüger, Thomas Leich, Gunter Saake |
EDBT | 6 |
| 2018 | STANlite - A Database Engine for Secure Data Processing at Rack-Scale LevelabstractIntel's novel Software Guard eXtensions (SGX) enable secure and trusted execution of services, thereby paving the way to outsource sensitive data processing to external data centers. While SGX promises trusted execution close to native speed, frequent I/O operations and memory usage beyond a hardware-dependent threshold of currently 92 MiB result in substantial performance degradation. For memory-intensive workloads such as key-value stores and databases these penalties can be prohibitively high. We present STANlite - an in-memory database engine for SGX-enabled secure data processing in rack-scale environments. STANlite performs efficient user-level paging, whenever a database workload requires more space than the performance-friendly in-memory state size. Furthermore, STANlite smartly combines the properties of Remote Direct Memory Access (RDMA) and SGX to reduce the overhead of network-based I/O operations. While SGX usually provides confidentiality and integrity at the same time, STANlite enables a purely integrity preserving data management mode for additional performance. Finally, STANlite features a small trusted computing base and is memory-efficient, as it extends SQLite, a database for embedded use. We evaluated STANlite in terms of query response time. It outperforms a vanilla SGX-based SQLite version by 1.79x for microbenchmarks and 2.44x for TPC-C. Vasily A. Sartakov, Nico Weichbrodt, Sebastian Krieter, Thomas Leich, Rüdiger Kapitza |
IC2E | 4 |
| 2018 | Do you remember this source code?abstractBeing familiar with the source code of a program comprises knowledge about its purpose, structure, and details. Consequently, familiarity is an important factor in many contexts of software development, especially for maintenance and program comprehension. As a result, familiarity is considered to some extent in many different approaches, for example, to model costs or to identify experts. Still, all approaches we are aware of require a manual assessment of familiarity and empirical analyses of forgetting in software development are missing. In this paper, we address this issue with an empirical study that we conducted with 60 open-source developers. We used a survey to receive information on the developers' familiarity and analyze the responses based on data we extract from their used version control systems. The results show that forgetting is an important factor when considering familiarity and program comprehension of developers. We find that a forgetting curve is partly applicable for software development, investigate three factors - the number of edits, ratio of owned code, and tracking behavior - that can impact familiarity with code, and derive a general memory strength for our participants. Our findings can be used to scope approaches that have to consider familiarity and they provide insights into forgetting in the context of software development. Jacob Krüger, Jens Wiemann, Wolfram Fenske, Gunter Saake, Thomas Leich |
ICSE | 5 |
| 2018 | Towards automated test refactoring for software product linesabstractIn practice, organizations often rely on the clone-and-own approach to reuse and customize existing systems. While increasing maintenance costs encourage some organizations to adopt their development processes towards more systematic reuse, others still avoid migrating to a reusable platform. Based on our experiences, a barrier preventing the adoption of software product lines is the fear of introducing new and more problematic bugs---during the migration or later on. We are aware of several works that automate software-product-line adoption, but they neglect the migration and maintenance of test cases. Automating the refactoring of tests can help to facilitate the adoption barrier, compare the quality after migrations, and support maintenance. In this vision paper, we i) discuss open research challenges that are based on our experiences and ii) sketch a first framework to develop automated solutions. Overall, we aim to illustrate our idea and initiate further research to facilitate the adoption and maintenance of software product lines. Jacob Krüger, Mustafa Al-Hajjaji, Sandro Schulze, Gunter Saake, Thomas Leich |
SPLC | 5 |
| 2018 | Apo-games: a case study for reverse engineering variability from cloned Java variantsabstractSoftware-product-line engineering is an approach to systematically manage reusable software features and has been widely adopted in practice. Still, in most cases, organizations start with a single product that they clone and modify when new customer requirements arise (a.k.a. clone-and-own). With an increasing number of variants, maintenance can become challenging and organizations may consider migrating towards a software product line, which is referred to as extractive approach. While this is the most common approach in practice, techniques to extract variability from cloned variants still fall short in several regards. In particular, this accounts for the low accuracy of automated analyses and refactoring, our limited understanding of the costs involved, and the high manual effort. A main reason for these limitations is the lack of realistic case studies. To tackle this problem, we provide a set of cloned variants. In this paper, we characterize these variants and challenge the research community to apply techniques for reverse engineering feature models, feature location, code smell analysis, architecture recovery, and the migration towards a software product line. By evaluating solutions with the developer of these variants, we aim to contribute to a larger body of knowledge on this real-world case study. Jacob Krüger, Wolfram Fenske, Thomas Thüm, Dirk Aporius, Gunter Saake, Thomas Leich |
SPLC | 6 |
| 2018 | PClocator: a tool suite to automatically identify configurations for code locationsabstractThe source code of highly-configurable software is challenging to comprehend, analyze, and test. In particular, it is hard to identify all configurations that comprise a certain code location. We contribute PCLocator, a tool suite that solves this problem by utilizing static analysis tools for compile-time variability. Using BusyBox and the Variability Bugs Database (VBDb), we evaluate the correctness and performance of PCLocator. The results show that we are able to analyze files in a matter of seconds and derive correct configurations in 95% of all cases. Elias Kuiter, Sebastian Krieter, Jacob Krüger, Kai Ludwig 0001, Thomas Leich, Gunter Saake |
SPLC | 5 |
| 2018 | Getting rid of clone-and-own: moving to a software product line for temperature monitoringabstractDue to its fast and simple applicability, clone-and-own is widely used in industry to develop software variants. In cooperation with different companies for thermoelectric products, we implemented multiple variants of a heat monitoring tool based on clone-and-own. After encountering redundancy-related problems during development and maintenance, we decided to migrate towards a software product line. Within this paper, we describe this case study of migrating cloned variants to a software product line based on the extractive approach. The resulting software product line encapsulates variability on several levels, including the underlying hardware systems, interfaces, and use cases. Currently, we support monitoring hardware from three different companies that use the same core system and provide a configurable front-end. We share our experiences and encountered problems with cloning and migration towards a software product line---focusing on feature extraction and modeling in particular. Furthermore, we provide a lightweight, web-based tool for modeling, configuring, and implementing software product lines, which we use to migrate and manage features. Besides this experience report, we contribute most of the created artifacts as open-source and freely available for the research community. Elias Kuiter, Jacob Krüger, Sebastian Krieter, Thomas Leich, Gunter Saake |
SPLC | 4 |
| 2018 | Clean your variable code with featureIDEabstractFeatureIDE is an open-source framework to model, develop, and analyze feature-oriented software product lines. It is mainly developed in a cooperation between TU Braunschweig, University of Magdeburg, and Metop GmbH. Nevertheless, many other institutions contributed to it in the past decade. Goal of this tutorial is to illustrate how FeatureIDE can be used to clean variable code, whereas we will focus on dependencies in feature models and on variability implemented with preprocessors. The hands-on tutorial will be highly interactive and is devoted to practitioners facing problems with variability, lecturers teaching product lines, and researchers who want to save resources in building product-line tools based on the FeatureIDE infrastructure. Thomas Thüm, Sebastian Krieter, Thomas Leich |
SPLC | 3 |
| 2018 | Composing annotations without regret? Practical experiences using FeatureCabstractSummary Software product lines enable developers to derive similar products from a common code base. Existing implementation techniques can be categorized as composition‐based and annotation‐based approaches, with both approaches promising complementary benefits. However, annotation‐based approaches are commonly used in practice despite composition allowing physical separation of features and, thus, improving traceability and maintenance. A main hindrance to migrate annotated systems toward a composition‐based product line is the challenging and time‐consuming transformation task. For a company, it is difficult to predict the corresponding costs, and a successful outcome is uncertain. To overcome such problems, a solution proposed by the previous work is to use a hybrid approach, utilizing composition and annotation simultaneously. Based on this idea, we introduce a stepwise migration process from annotation‐based toward composition‐based approaches to lower the adoption barrier of composition. This process itself is independent of used implementation techniques and enables developers to incrementally migrate toward composition. We support our approach with detailed examples by partially migrating a real‐world system. In detail, we describe the following: (1) our migration process, (2) its application on a real‐world system, and (3) discuss practical challenges we face. We implemented the proposed approach and show that appropriate tool support helps to migrate toward composition‐based product lines. Based on the case study, we show that the hybrid product lines work correctly and can compete with the performance of the original annotated system. However, the results also illustrate open issues that have to be solved to apply such migrations in practice. Jacob Krüger, Marcus Pinnecke, Andy Kenner, Christopher Kruczek, Fabian Benduhn, Thomas Leich, Gunter Saake |
Softw. Pract. Exp. | 6 |
| 2017 | Daedalus or Icarus? Experiences on Follow-the-SunabstractFollow-the-sun is an approach to develop software by handing off the progress to different time zones as the day passes. Hence, this approach allows companies to work on a project 24 hours a day, potentially reducing its time-to-market. However, several challenges, such as time zone differences or handing off work, are often reported. In this paper, we describe a case study on a follow-the-sun approach that was applied in a German company. During the approach, we did rarely face the aforementioned challenges but experienced different ones. For this reason, the company put its approach on hold but benefited from the learned lessons. Overall, we report on a partly successful follow-the-sun approach and identify five important practices. Jacob Krüger, Stephan Dassow, Karl-Albert Bebber, Thomas Leich |
ICGSE | 4 |
| 2017 | Comprehending studies on program comprehensionabstractProgram comprehension is an important aspect of developing and maintaining software, as programmers spend most of their time comprehending source code. Thus, it is the focus of many studies and experiments to evaluate approaches and techniques that aim to improve program comprehension. As the amount of corresponding work increases, the question arises how researchers address program comprehension. To answer this question, we conducted a literature review of papers published at the International Conference on Program Comprehension, the major venue for research on program comprehension. In this article, we i) present preliminary results of the literature review and ii) derive further research directions. The results indicate the necessity for a more detailed analysis of program comprehension and empirical research. Ivonne von Nostitz-Wallwitz, Jacob Krüger, Janet Siegmund, Thomas Leich |
ICPC | 4 |
| 2016 | Tool demo: testing configurable systems with FeatureIDEabstractMost software systems are designed to provide custom functionality using configuration options. Testing such systems is challenging as running tests of a single configuration is often not sufficient, because defects may appear in other configurations. Ideally, all configurations of a software system should be tested, which is usually not applicable in practice due to the combinatorial explosion with respect to the configuration options. Multiple sampling strategies aim to reduce the set of tested configurations to a feasible amount, such as T-wise sampling, random configurations, and user-defined configurations. However, these strategies are often not applied in practice as they require manual effort or a specialized testing framework. Within our tool FeatureIDE, we integrate all aforementioned strategies and reduce the manual effort by automating the process of generating and testing configurations. Furthermore, we provide support for unit testing to avoid redundant test executions and for variability-aware testing. With this extension of FeatureIDE, we aim to make recent testing techniques for configurable systems applicable in practice. Mustafa Al-Hajjaji, Jens Meinicke, Sebastian Krieter, Reimar Schröter, Thomas Thüm, Thomas Leich, Gunter Saake |
GPCE | 6 |
| 2016 | FeatureIDE: Scalable Product Configuration of Variable Systems
Juliana Alves Pereira, Sebastian Krieter, Jens Meinicke, Reimar Schröter, Gunter Saake, Thomas Leich |
ICSR | 6 |
| 2016 | Extracting software product lines: a cost estimation perspectiveabstractCompanies are often forced to customize their software products. Thus, a common practice is to clone and adapt existing systems to new customer requirements. With the extractive approach, those derived variants can be migrated into a software product line. However, changing to a new development process is risky and may result in unnecessary costs. Therefore, companies apply cost estimations to predict whether another development approach is beneficial. Existing cost models for software-product-line engineering focus on development from scratch. Contrarily, the extractive approach is more common in practice but specialized models are missing. Thus, in this work we focus on product-line extraction from a set of legacy systems. We i) describe according cost factors, ii) put them in context with the development process and cost curves, and iii) identify open challenges in product-line economics. This way, our work supports cost estimations for the extractive approach and provides a basis for further research. Jacob Krüger, Wolfram Fenske, Jens Meinicke, Thomas Leich, Gunter Saake |
SPLC | 4 |
| 2016 | Clean your variable code with featureIDEabstractFeatureIDE is an open-source framework to model, develop, and analyze feature-oriented software product lines. It is mainly developed in a cooperation between University of Magdeburg and Metop GmbH. Nevertheless, many other institutions contributed to it in the past decade. Goal of this tutorial is to illustrate how FeatureIDE can be used to clean variable code, whereas we will focus on dependencies in feature models and on variability implemented with preprocessors. The hands-on tutorial will be highly interactive and is devoted to practitioners facing problems with variability, lecturers teaching product lines, and researchers who want to safe resources in building product line tools. Thomas Thüm, Thomas Leich, Sebastian Krieter |
SPLC | 2 |
| 2014 | Understanding understanding source code with functional magnetic resonance imagingabstractProgram comprehension is an important cognitive process that inherently eludes direct measurement. Thus, researchers are struggling with providing suitable programming languages, tools, or coding conventions to support developers in their everyday work. In this paper, we explore whether functional magnetic resonance imaging (fMRI), which is well established in cognitive neuroscience, is feasible to soundly measure program comprehension. In a controlled experiment, we observed 17 participants inside an fMRI scanner while they were comprehending short source-code snippets, which we contrasted with locating syntax errors. We found a clear, distinct activation pattern of five brain regions, which are related to working memory, attention, and language processing---all processes that fit well to our understanding of program comprehension. Our results encourage us and, hopefully, other researchers to use fMRI in future studies to measure program comprehension and, in the long run, answer questions, such as: Can we predict whether someone will be an excellent programmer? How effective are new languages and tools for program understanding? How should we train programmers? Janet Siegmund, Christian Kästner, Sven Apel, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, André Brechmann |
ICSE | 6 |
| 2014 | FeatureIDE: An extensible framework for feature-oriented software development
Thomas Thüm, Christian Kästner, Fabian Benduhn, Jens Meinicke, Gunter Saake, Thomas Leich |
Sci. Comput. Program. | 6 |
| 2013 | Do background colors improve program comprehension in the #ifdef hell?
Janet Siegmund, Christian Kästner, Sven Apel, Jörg Liebig, Michael Schulze, Raimund Dachselt, Maria Papendieck, Thomas Leich, Gunter Saake |
Empir. Softw. Eng. | 8 |
| 2012 | Building Information System Variants with Tailored Database Schemas Using Features
Martin Schäler, Thomas Leich, Marko Rosenmüller, Gunter Saake |
CAiSE | 2 |
| 2012 | Toward measuring program comprehension with functional magnetic resonance imagingabstractProgram comprehension is an often evaluated, internal cognitive process. In neuroscience, functional magnetic resonance imaging (fMRI) is used to visualize such internal cognitive processes. We propose an experimental design to measure program comprehension based on fMRI. In the long run, we hope to answer questions like What distinguishes good programmers from bad programmers? or What makes a good programmer? Janet Siegmund, André Brechmann, Sven Apel, Christian Kästner, Jörg Liebig, Thomas Leich, Gunter Saake |
SIGSOFT FSE | 6 |
| 2012 | Access control in feature-oriented programming
Sven Apel, Sergiy S. Kolesnikov, Jörg Liebig, Christian Kästner, Martin Kuhlemann, Thomas Leich |
Sci. Comput. Program. | 6 |
| 2009 | FeatureIDE: A tool framework for feature-oriented software developmentabstractTools support is crucial for the acceptance of a new programming language. However, providing such tool support is a huge investment that can usually not be provided for a research language. With FeatureIDE, we have built an IDE for AHEAD that integrates all phases of feature-oriented software development. To reuse this investment for other tools and languages, we refactored FeatureIDE into an open source framework that encapsulates the common ideas of feature-oriented software development and that can be reused and extended beyond AHEAD. Among others, we implemented extensions for FeatureC++ and FeatureHouse, but in general, FeatureIDE is open for everybody to showcase new research results and make them usable to a wide audience of students, researchers, and practitioners. Christian Kästner, Thomas Thüm, Gunter Saake, Janet Siegmund, Thomas Leich, Fabian Wielgorz, Sven Apel |
ICSE | 5 |
| 2009 | Tailor-made data management for embedded systems: A case study on Berkeley DB
Marko Rosenmüller, Sven Apel, Thomas Leich, Gunter Saake |
Data Knowl. Eng. | 3 |
| 2008 | Aspectual Feature ModulesabstractTwo programming paradigms are gaining attention in the overlapping fields of software product lines (SPLs) and incremental software development (ISD). Feature-oriented programming (FOP) aims at large-scale compositional programming and feature modularity in SPLs using ISD. Aspect-oriented programming (AOP) focuses on the modularization of crosscutting concerns in complex software. Although feature modules, the main abstraction mechanisms of FOP, perform well in implementing large-scale software building blocks, they are incapable of modularizing certain kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanisms of AOP. We contribute a systematic evaluation and comparison of FOP and AOP. It reveals that aspects and feature modules are complementary techniques. Consequently, we propose the symbiosis of FOP and AOP and aspectual feature modules (AFMs), a programming technique that integrates feature modules and aspects. We provide a set of tools that support implementing AFMs on top of Java and C++. We apply AFMs to a nontrivial case study demonstrating their practical applicability and to justify our design choices. Sven Apel, Thomas Leich, Gunter Saake |
IEEE Trans. Software Eng. | 2 |
| 2006 | Aspectual mixin layers: aspects and features in concertabstractFeature-Oriented Programming (FOP) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although, features crosscut object-oriented architectures they fail to express all kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanism of Aspect-Oriented Programming (AOP). In this article we contribute a systematic evaluation and comparison of both paradigms, AOP and FOP, with focus on incremental software development. It reveals that aspects and features are not competing concepts. In fact AOP has several strengths to improve FOP in order to implement crosscutting featuresSymmetrically, the development model of FOP can aid AOP in implementing incremental designs. Consequently, we propose the architectural integration of aspects and features in order to profit from both paradigms. We introduce aspectual mixin layers (AMLs), an implementation approach that realizes this symbiosis. A subsequent evaluation and a case study reveal that AMLs improve the crosscutting modularity of features as well as aspects become well integrated into incremental development style. Sven Apel, Thomas Leich, Gunter Saake |
ICSE | 2 |
| 2005 | Using Step-Wise Refinement to Build a Flexible Lightweight Storage Manager
Thomas Leich, Sven Apel, Gunter Saake |
ADBIS | 1 |
| 2005 | Aspect Refinement and Bounding Quantification in Incremental DesignsabstractThis article investigates aspects in the context of the incremental software development, i.e. software product lines. Specifically, we propose the integration of aspects into AHEAD, an architectural model for feature-based product line development. We introduce the notion of aspect refinement based on aspectual mixin layers, a novel technique for implementing features. Aspect refinement enables a programmer to evolve aspects over several product line development stages. This is novel since common AOP approaches do not have such an architectural model. We realize the idea of aspect refinement by introducing mixin-based inheritance to aspects. Furthermore, we propose bounding quantification that reduces the complexity and unpredictability of aspects in incremental software development. Our novel bounding mechanism exploits the natural order of the layered architecture introduced by the concept of aspect refinement. Aspect refinement and bounding quantification improve the incremental development of product lines using AOP techniques. Sven Apel, Thomas Leich, Gunter Saake |
APSEC | 2 |
| 2005 | FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming
Sven Apel, Thomas Leich, Marko Rosenmüller, Gunter Saake |
GPCE | 2 |