We offer two different seminars for master students at the Institute for Software Engineering and Automotive Informatics in the winter term 2026/2027.
You may use one of the following templates. You may also use your own template.
Please note: Once you watch the video, data will be transmitted to YouTube/Google. For more information, see Google Privacy
This course is supervised by Rahel Sundermann and Thomas Thüm.
Deep Variability -- Interactions across Product Line Borders?
Context
The performance or behavior of a software product is not only dependent on the product line it is sampled from. As software is compiled using different compilers, executed on different hardware, and deployed on different data, a large number of additional variability points also impacts the software product. While horizontal interaction between product lines has already been well-researched, the concept of "deep variability" in the vertical dimension is relatively new. However, it is a important new avenue of research, as deep variability can for example negatively impact the reproducablity of software-based research.
Goal / Research Questions
Papers
Metrics for Characterizing Feature Model Complexity
Context
Feature models encode the all valid configurations of a software product line. Therefore, they are commonly analyzed, e.g., with SAT or #SAT solvers, to gain insights on the underlying product line. But not only insights on the product line, but also the complexity of the feature model, e.g., the ease of solver-based analyses or modifiability of the feature model, can be helpful to guide stakeholder decisions.
Goal / Research Questions
Identify common measure that characterize the complexity of a feature model for various applications.
Paper
Ebrahim Bagheri and Dragan Gasevic. “Assessing the Maintainability of Software Product Line Feature Models Using Structural Metrics”. In: Software Quality Journal (SQJ) 19.3 (2011), pp. 579–612. DOI: https://doi.org/10.1007/s11219-010-9127-2
Richard Pohl, Vanessa Stricker, and Klaus Pohl. “Measuring the Structural Complexity of Feature Models”. In: Proc. Int’l Conf. on Automated Software Engineering (ASE). ACM, 2013, pp. 454–464. DOI: 10.1109/ASE.2013.6693103.
Públio Silva, Carla Bezerra, and Ivan Machado. “Automating Feature Model maintainability evaluation using machine learning techniques”. In: Journal of Systems and Software 195 (2023), p. 111539. ISSN: 0164-1212. DOI:https://doi.org/10.1016/j.jss.2022.111539.
Program Slicing for Software Product Lines
Context
Program slicing is the reduction of a program to a subset that produces the same result for a given slicing point. In the context of software product lines can be used for either the extraction of features from legacy code or the analysis of existing SPLs. However, not every SPL implementation technique benefits of program slicing in the same way.
Goal / Research Questions
Identify different applications of program slicing used for SPL extraction.
Papers
Real World Migrations to Software Product Lines
Context
Software product line reengineering encompasses the extraction of features from several already existing products in the same domain. During the extraction process many different decisions can be made that make each extraction fairly unique. By collecting such case studies migrating legacy code into a SPL, an effort can be made to summarize the state of the art of SPL Reengineering and detect gaps in the current research.
Goal / Research Questions
Collect and describe case studies that focus on extracting a software product line from existing software.
Papers
Analysis Strategies for Software Product Lines
Context
Software product lines (SPLs) describe billions of individual software variants simultaneously. Analyzing all these variants, for example to ensure soundness properties, does not scale in practice. To this end, analysis must exploit the similarities between the variants (i.e., the features), similar to how an SPL implements billions of variants without ever explicitly enumerating them.
Goal / Research Questions
Papers
Analyzing Configuration Spaces of Cardinality-Based Feature Models
Context
Feature models are often limited to boolean configuration spaces with a fixed number of features. However, cardinality-based feature models (CFMs) allow users to choose some features not just once, but multiple times. This makes it difficult to apply existing techniques for analyzing the configuration space represented by a CFM, e.g. for testing and estimating non-funtional properties of configurations.
Goal / Research Questions
Papers
Using Sampling for Performance Prediction of Software Product Lines
Context
For highly-configurable software, it is often important to know which configurations lead to low or high performance (e.g., runtime) of the resulting products. As the number of configurations is often extremely large, measuring all configurations is usually infeasible. Instead, some approaches use sampling, where a set of configurations is chosen for measurement, and the results are generalized to the full software product line.
Goal / Research Questions
Papers
An Overview of Variability Bug Collections for the Linux Kernel
Context
Configurable software systems can have variability bugs, which are bugs that occur in some but not all configurations of the software. The Linux kernel, being the most complex public software product line and having a wide-spread usage, is of particular interest for variability bug research. There are various works that have investigated varibility-related defects in the Linux kernel, and compiled respective data collections.
Goal / Research Questions
Papers
Knowledge Compilation for Automated Reasoning in SE
Context
Knowledge compilation refers to translating an original logical expression to another format with beneficial properties regarding efficiency of follow up analyses. The concept is applied in various domains to accelerate automated reasoning revolving around many computations. However, since the application of knowledge compilation is so heavily scattered across different communities, it is hard for researchers to get an overview on possibilities.
Goal / Research Questions
Papers
Constraint Dialects Used for Representing Variability of Configurable Systems
Context
Configurable systems are part of your everyday life. Here, you can assemble multiple product variants from a pool of features. In practice, there are thousands of dependencies between such features. Typically, to facilitate automated reasoning, such dependencies are represented as logical formulas in varying constraint dialects. While automated reasoning research focuses mostly Boolean logic, many other dialects have been considered and employed. However, the relevance of other dialects is hard to quantify as there has not been a systematic analyses of employed techniques.
Goal / Research Questions
Papers
Commit Analysis Tools for Product Lines
Context
Product line techniques are used in the industry since decades. With a rising code base and multiple developers, the need for supporting the development of product lines rises. To solve problems, we first need to understand them. Different tools have been developed to analyze commits of product lines in existing open source repositories.
Goal / Research Questions
Papers
Supporting Clone-And-Own in Industry
Context
Using Clone-and-Own, i.e., copying existing code and adapting it for special requests, is a common way of developing configurable software in the industry. However, this comes with challenges for developers and the necessity for techniques to cope with appearing problems.
Goal / Research Questions
Papers
The course material is provided in the corresponding Stud.IP course.
This course is supervised by Raphael Dunkel and Thomas Thüm.
Developer Workflow in Variation Control Systems
Context
Editing variational systems can be a mentally challenging task as it requires to understand and maintain multiple features and their interactions simultaneously. Variation control systems promote development of software product lines in terms of projectional editing: Instead of editing the complete software product line, developers edit a view of the software that shows only relevant parts of the code such as all code elements that belong to a particular feature or variant.
Goal / Research Questions
Papers
Variability Modelling Languages and Their Analyzability
Context
To describe the valid configurations of a product line, researchers created a multitude of variability modelling languages. Each language has different advantages and disadvantages in relevant properties such as usability or expressiveness. However, language representation also limits the applicability of different automated variability analyses and their ease of computation.
Goal / Research Questions
Identify common languages for variability modelling.
Compare these languages, especially in regards to the analyses their representation allows for.
Identify similarities between language analyzability and identify shared root causes. Which attributes of variability modelling languages impact the applicability and complexity of automated analysis approaches?
Paper
David Benavides, Chico Sundermann, Kevin Feichtinger, José A. Galindo, Rick Rabiser, and Thomas Thüm. “UVL: Feature Modelling With the Universal Variability Language”. In: J. Systems and Software (JSS) 225 (2025). doi: 10.1016/j.jss.2024.112326.
Holger Eichelberger and Klaus Schmid. “A Systematic Analysis of Textual Variability Modeling Languages”. In: Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 2013, 12–21. doi: 10.1145/2491627.2491652.
Chico Sundermann, Stefan Vill, Thomas Thüm, Kevin Feichtinger, Prankur Agarwal, Rick Rabiser, José A. Galindo, and David Benavides. “UVLParser: Extending UVL With Language Levels and Conversion Strategies”. In: Proc. Int’l Systems and Software Product Line Conf. (SPLC). ACM, 2023, pp. 39–42. doi: 10.1145/3579028.3609013.
Formalizing Variational Analyses with the Choice Calculus
Context
To design and specify analyses, formal languages are needed. For analysing source code in software product lines, one such a language is the choice calculus, a minimal language to describe variation. The choice calculus has been used as a foundation for specifying numerous analyses in research, and as a basis for their implementation.
Goal / Research Questions
Papers
Analysis Strategies for Software Product Lines
Context
Software product lines (SPLs) describe billions of individual software variants simultaneously. Analyzing all these variants, for example to ensure soundness properties, does not scale in practice. To this end, analysis must exploit the similarities between the variants (i.e., the features), similar to how an SPL implements billions of variants without ever explicitly enumerating them.
Goal / Research Questions
Papers
Methods for Finding Locations Where a Feature is Implemented
Context
For comprehending, maintaining, and extending existing software, it is crucial to find locations of interest in a software system quickly, reliably, and exhaustively. To that end, tracing features to their implementation is one of the most common activities of developers. However, such feature traces are rarely documented in practice. Therefore, research on feature location an feature identification tries to assist developers in documenting or recovering such information.
Goal / Research Questions
Papers
Clone-Based Software Reuse - Evolution and Maintenance Practices in Open Source
Context
On GitHub, developers often maintain a separate, modified variant (fork) alongside the original. Shared components between variants may not be consistently updated. This can lead to inefficient patching across variants.
Goal / Research Questions
Papers
On the Difficulty of Obtaining Feature Models Retroactively
Context
In software product line theory, feature models are a core component of a product line. In practice however, developers often do not model the variability in a system explicitly. The knowledge about features and their relationships is often implicitly encoded in configurations files, the build system, and/or solution space variability. Various techniques and tools try to extract this knowledge, which is a system-dependent and complex process.
Goal / Research Questions
Papers
Recommender Systems for Product Line Configuration
Context
Product line configuration describes the process of deriving valid configurations, i.e. individual products, from a product line by selecting and deselecting features. As product lines can grow very large and therefore contain an enormous number of both features and valid configurations, this process can grow very complex. Recommender systems can be used to support this process by proposing the user with recommended decisions.
Goal / Research Questions
Research and compare different approaches to recommender systems.
Research the usage of recommender systems in product line configuration and necessary adaptions for this specific use case.
Identify advantages and disadvantages of recommender systems in comparison to other approaches of computer-aided product line configuration.
Papers
Juliana Alves Pereira, Matuszyk Pawel, Sebastian Krieter, Myra Spiliopoulou, and Gunter Saake. “Personalized Recommender Systems for Product-Line Configuration Processes”. In: Comput. Lang. Syst. Struct. 54 (2018), pp. 451–471. doi: 10.1016/j.cl.2018.01.003.
Jorge Rodas-Silva, José A. Galindo, Jorge García-Gutiérrez, and David Benavides. “Selection of Software Product Line Implementation Components Using Recommender Systems: An Application to Wordpress”. In: IEEE Access 7 (2019), pp. 69226–69245. doi: 10.1109/ACCESS.2019.2918469.
Raouia Triki, Raúl Mazo, and Camille Salinesi. “Combining Configuration and Recommendation to Enable an Interactive Guidance of Product Line Configuration”. In: Recommender Systems. John Wiley & Sons, 2014. Chap. 7, pp. 135–155. doi: 10.1002/9781119054252.ch7.
Variability Mechanisms Used in Practice
Context
Software product lines can be implemented using a wide variety of different variability mechanism, such as preprocessors, plug-in frameworks, or feature-oriented programming. All these techniques come with advantages and disadvantages, which make them feasible or not feasible for use a given use case. Thus, in practice often many factors have to be considered when developing a software product line and deciding on a variability mechanism.
Goal / Research Questions
Papers
Satisfiability Solving for Feature Model Analyses
Context
In software product lines, feature models specify the set of available features as well as their constraints, such as dependencies between features. Feature models can be analyzed in many different ways such as detecting defects or computing insightful metrics for developers. Many analyses can be reduced to satisfiability solving proplems, which allows the employment of dedicated solvers.
Goal / Research Questions
Papers
AI for Patching in Clone-and-Own Environments
Context
Clone-and-Own is a common way of handling software variability, where the source code is copied and then partially adapted for each specific product. This has the disadvantage of requiring increased developer intervention when a bug necessitates changes not only in one product's code base, but multiple adaptions that can be slightly different. Automated transfer of software patches between different variants can help to alleviate this problem by reducing the time expenditure of the involved developers.
Goal / Research Questions
Identify common techniques that allow for the transfer of patches between different variants.
Identify AI techniques that are used for patch transferring and research the necessary adaptations for this use-case.
Compare the advantages and disadvantages of AI techniques to non-AI techniques.
Papers
Xingyu Li, Zheng Zhang, Zhiyun Qian, Trent Jaeger, and Chengyu Song. “An Investigation of Patch Porting Practices of the Linux Kernel Ecosystem”. In: Proc. Working Conf. on Mining Software Repositories (MSR). ACM, 2024, 63–74. doi: 10.1145/3643991.3644902.
Shengyi Pan, You Wang, Zhongxin Liu, Xing Hu, Xin Xia, and Shanping Li. “Automating Zero-Shot Patch Porting for Hard Forks”. In: Proc. Int’l Symposium on Software Testing and Analysis (ISSTA). ACM, 2024, 363–375. doi: 10.1145/3650212.3652134.
Susheng Wu, Ruisi Wang, Yiheng Cao, Bihuan Chen, Zhuotong Zhou, Yiheng Huang, JunPeng Zhao, and Xin Peng. “Mystique: Automated Vulnerability Patch Porting with Semantic and Syntactic-Enhanced LLM”. In: Proc. Int’l Symposium on Foundations of Software Engineering (FSE) 2 (2025). doi: 10.1145/3715718.
Feature-Model Analysis Beyond Boolean Logic
Context
In the literature, many complex feature-model constructs have been suggested that cannot be easily translated to boolean logic. Still, most work focuses on purely boolean reasoning limiting the applicability to the complex constructs. Hence, researchers and practitioners often have a hard time identifying suitable solutions for the constructs they may want to use.
Goal / Research Questions
Papers
The course material is provided in the corresponding Stud.IP course.
This course is supervised by Paul Bittner and Thomas Thüm.
The course material is provided in the corresponding Stud.IP course.
Vacancies of TU Braunschweig
Career Service' Job Exchange
Merchandising
Term Dates
Courses
Degree Programmes
Information for Freshman
TUCard
Technische Universität Braunschweig
Universitätsplatz 2
38106 Braunschweig
P. O. Box: 38092 Braunschweig
GERMANY
Phone: +49 (0) 531 391-0