• Home
  • Paul Grünbacher
Paul Grünbacher

Paul Grünbacher

About

249
Publications
34,828
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
6,703
Citations

Publications

Publications (249)
Article
Music engravers nowadays use music notation software to create scores for musical works. As is common in any creative process, many different versions of digital artifacts are created—e.g., to manage editions of the same musical work, editorial markups, or the history and genesis of compositions. In the field of software engineering, researchers ha...
Conference Paper
Cyber-Physical Systems (CPS) are increasingly becoming part of organizations' digitalization efforts in many different domains. CPS are characterized by their heterogeneity and complexity, thus requiring the involvement of various experts throughout development. Digital Twins (DTs) were found to facilitate the acquisition of such technical knowledg...
Chapter
Products and production are inherently variable. That is, the products themselves often need to be variable—as in a car plant producing many similar, albeit not identical cars. Such flexibility allows a product to be more easily customizable. We speak of variable products. At the same time, production systems typically need to be flexible in suppor...
Article
Full-text available
Software companies commonly develop and maintain variants of systems, with different feature combinations for different customers. Thus, they must cope with variability in space. Software companies further must cope with variability in time, when updating system variants by revising existing software features. Inevitably, variants evolve orthogonal...
Article
Full-text available
Software companies frequently customize and extend product lines in multiple projects concurrently to quickly deliver solutions to customers. Engineers use a distributed and feature-oriented development process, commonly supported by version control systems to track implementation-level changes. For instance, feature branches are widely used to add...
Preprint
Full-text available
Feature annotation based on preprocessor directives is the most common mechanism in Highly-Configurable Software Systems (HCSSs) to manage variability. However, it is challenging to understand, maintain, and evolve feature fragments guarded by #ifdef directives. Yet, despite HCSSs being implemented in Version Control Systems, the support for evolvi...
Chapter
Product line engineering aims at quickly delivering individual solutions to customers by customizing and evolving products based on a common platform. Engineers commonly follow a distributed and feature-oriented process, supported by version control systems, to track implementation-level changes. For instance, feature branches are widely used to ad...
Article
Feature models are a de facto standard for representing the commonalities and variability of product lines and configurable software systems. Requirements-level features are commonly implemented in multiple source code artifacts, resulting in complex dependencies at the code level. As developers add and evolve features frequently, it is challenging...
Preprint
Highly-Configurable Software Systems (HCSSs) support the systematic evolution of systems in space, i.e., the inclusion of new features, which then allow users to configure software products according to their needs. However, HCSSs also change over time, e.g., when adapting existing features to new hardware or platforms. In practice, HCSSs are thus...
Preprint
Software companies encounter variability in space as variants of software systems need to be produced for different customers. At the same time, companies need to handle evolution in time because the customized variants need to be revised and kept up-to-date. This leads to a predicament in practice with many system variants significantly diverging...
Article
Full-text available
In the domain of industrial automation companies nowadays need to serve a mass market while at the same time customers demand highly customized solutions. To tackle this problem, companies frequently define software product lines (SPLs), which allow to automatically derive and further customize individual solutions based on a common platform. SPLs...
Article
Version control systems are an integral part of today’s software engineering. They facilitate the collaborative management of revisions (sequential versions) and variants (concurrent versions) of software systems under development. Typical version control systems maintain revisions of files and variants of whole software systems. Variants are suppo...
Article
Many software systems today provide support for adaptation and reconfiguration at runtime, in response to changes in their environment. Such adaptive systems are designed to run continuously and may not be shut down for reconfiguration or maintenance tasks. The variability of such systems has to be explicitly managed, together with mechanisms that...
Article
Full-text available
Memory analysis tools are essential for finding and fixing anomalies in the memory usage of software systems (e.g., memory leaks). Although numerous tools are available, hardly any empirical studies exist on their usefulness for developers in typical usage scenarios. Instead, most evaluations are limited to reporting performance metrics. We thus co...
Chapter
[Context and motivation] Software product lines evolve frequently to address customer requirements in different domains. This leads to a distributed engineering process with frequent updates and extensions. [Question/problem] However, such changes are typically managed and tracked at the level of source code while feature-level awareness about soft...
Article
ACM SIGSOFT International Workshop on Software-intensive Business: Start-ups, Platforms and Ecosystems (IWSiB 2019) was hosted by ESEC/FSE 2019 and it was held in Tallinn in August 2019. The workshop was motivated by a preceding Dagstuhl Seminar 18182 in which the participants agreed on founding of a workshop series for promoting and advancing the...
Preprint
Complex software systems evolve frequently, e.g., when introducing new features or fixing bugs during maintenance. However, understanding the impact of such changes on system behavior is often difficult. Many approaches have thus been proposed that analyze systems before and after changes, e.g., by comparing source code, model-based representations...
Conference Paper
Feature models are a de facto standard for representing the commonalities and variability of product lines and configurable software systems. Requirements-level features are commonly implemented in multiple source code artifacts, which results in complex dependencies at the code level. As developers change and evolve features frequently, it is chal...
Conference Paper
A feature model (FM) describes commonalities and variability within a software product line (SPL) and represents the configuration options at one point in time. A temporal feature model (TFM) additionally represents FM evolution, e.g., the change history or the planning of future releases. The increasing number of different TFM notations hampers re...
Article
Full-text available
Understanding variability is essential to allow the configuration of software systems to diverse requirements. Variability-aware program analysis techniques have been proposed for analyzing the space of program variants. Such techniques are highly beneficial, e.g., to determine the potential impact of changes during maintenance. This article presen...
Chapter
The full behavior of cyber-physical systems (CPS) emerges during operation only, when the systems interact with their environment. Runtime monitoring approaches are used to detect deviations from the expected behavior. While most monitoring approaches assume that engineers define the expected behavior as constraints, the deep domain knowledge requi...
Conference Paper
Complex software-intensive systems are often systems of systems whose full behavior emerges during operation only, when the involved systems interact with each other and the environment. Runtime monitoring approaches are thus used to detect deviations from the expected behavior. Most approaches assume that engineers define the expected behavior as...
Chapter
[Context and Motivation] Organizations pursuing software product line engineering often use feature models to define the commonalities and variability of software-intensive systems. Frequently, requirements-level features are mapped to development artifacts to ensure traceability and to facilitate the automated generation of downstream artifacts. [...
Chapter
[Context and Motivation] Existing approaches, e.g., in the areas of specification mining and process mining, allow to automatically identify requirements-level system properties, that can then be used for verifying or monitoring systems. For instance, specifications, invariants, or constraints can be mined by analyzing source code or system logs. [...
Article
[Context] Complex and heterogeneous software systems need to be monitored as their full behavior often only emerges at runtime, e.g., when interacting with other systems or the environment. Software monitoring approaches observe and check properties or quality attributes of software systems during operation. Such approaches have been developed in d...
Article
Full-text available
Complex software-intensive systems are often described as systems of systems (SoS) due to their heterogeneous architectural elements. As SoS behavior is often only understandable during operation, runtime monitoring is needed to detect deviations from requirements. Today, while diverse monitoring approaches exist, most do not provide what is needed...
Article
Full-text available
Feature models are frequently used to capture the knowledge about configurable software systems and product lines. However, feature modeling of large-scale systems is challenging as models are needed for diverse purposes. For instance, feature models can be used to reflect the perspectives of product management, technical solution architecture, or...
Conference Paper
Version control systems are an integral part of today's software and systems development processes. They facilitate the management of revisions (sequential versions) and variants (concurrent versions) of a system under development and enable collaboration between developers. Revisions are commonly maintained either per file or for the whole system....
Article
Version control systems are an integral part of today's software and systems development processes. They facilitate the management of revisions (sequential versions) and variants (concurrent versions) of a system under development and enable collaboration between developers. Revisions are commonly maintained either per file or for the whole system....
Conference Paper
Industrial software systems are often systems of systems (SoS) that evolve continuously to meet new customer requirements or to address technological changes. Despite thorough testing of the different contributing parts, the full behavior of SoS only emerges at runtime. The systems in the SoS and their interactions thus need to be continuously moni...
Book
This book constitutes the proceedings of the 23rd International Working Conference on Requirements Engineering - Foundation for Software Quality, REFSQ 2017, held in Essen, Germany, in February/March 2017. The 16 full papers and 10 short papers presented in this volume were carefully reviewed and selected from 77 submissions. The papers were organi...
Article
The full behavior of complex software systems often only emerges during operation. They thus need to be monitored at run time to check that they adhere to their requirements. Diverse runtime monitoring approaches have been developed in various domains and for different purposes. Their sheer number and heterogeneity, however, make it hard to find th...
Conference Paper
Feature models are commonly used in industrial contexts to guide and automate the derivation of product variants. However, in real-world product lines the derivation process goes beyond selecting and composing product features. Specifically, developers often perform clone-and-own reuse, i.e., they copy, modify, and extend existing code to provide t...
Article
Developers of systems of systems (SoSs) face challenges such as heterogeneous, inconsistent, and changing elements; continuous evolution and deployment; decentralized control; and inherently conflicting and often unknowable requirements. In response to these challenges, researchers are developing the ReMinds tool. Engineers can use it to instrument...
Article
[Context] Software systems today often interoperate with each other, thus forming a system of systems (SoS). Due to the scale, complexity, and heterogeneity of SoS, determining compliance with their requirements is challenging, despite the range of existing monitoring approaches. The fragmented research landscape and the diversity of existing appro...
Conference Paper
Due to increased market demands for highly customized and machine-specific solutions in manufacturing, industrial software systems are often developed as software product lines (SPL) and organized as software ecosystems (SECO) with internal and external developers composing individual solutions based on a common technological platform. In such sett...
Conference Paper
Requirements monitoring approaches support defining and checking the run-time behavior and performance characteristics of complex software systems. However, although numerous monitoring tools have been described in the literature, hardly any empirical studies exist on their usefulness for software engineering practitioners. Empirical data on useful...
Conference Paper
Today's complex software systems are highly variable systems of systems (SoS) that evolve continuously to meet new customer requirements or to address technological changes. Despite thorough testing of the different parts of an SoS, the full behavior often emerges during operation only. The systems and their interactions thus need to be continuousl...
Article
Many software-intensive systems today can be characterized as systems of systems (SoS) comprising complex, interrelated, and heterogeneous systems. The behavior of SoS often only emerges at runtime due to complex interactions between the involved systems and their environment. It is thus necessary to determine unexpected behavior by monitoring SoS...
Conference Paper
Complex software-intensive systems are often described as systems of systems (SoS) comprising heterogeneous architectural elements. As SoS behavior fully emerges during operation only, runtime monitoring is needed to detect deviations from requirements. Today, diverse approaches exist to define and check runtime behavior and performance characteris...
Article
Full-text available
In many domains systems need to run continuously and cannot be shut down for reconfiguration or maintenance tasks. Cyber-physical or cloud-based systems, for instance, thus often provide means to support their adaptation at runtime. The required flexibility and adaptability of systems suggests the application of Software Product Line (spl) principl...
Conference Paper
The notion of features is commonly used to describe the functional and non-functional characteristics of a system. In software product line engineering, features often become the prime entities of software reuse and are used to distinguish the individual products of a product line. Properly decomposing a product line into features, and correctly us...
Conference Paper
In many domains systems need to run continuously and cannot be shut down for reconfiguration or maintenance tasks. Cyber-physical or cloud-based systems, for instance, thus often provide means to support their adaptation at runtime. The required flexibility and adaptability of systems suggests the application of Software Product Line (spl) principl...
Article
Mechatronic products combine hardware and software; and today, much of software engineering is directly or indirectly involved to support mechatronic design. Due to the high level of standardization, especially among its hardware, the design of mechatronic products is strongly characterized by integrating standardized components and thus seems an i...
Article
Context: In industrial settings products are developed by more than one organization. Software vendors and suppliers commonly typically maintain their own product lines, which contribute to a larger (multi) product line or software ecosystem. It is unrealistic to assume that the participating organizations will agree on using a specific variability...
Conference Paper
Many software systems today are systems of systems (SoS), which are difficult to analyze due to their size, complexity, heterogeneity, and variability. For instance, unexpected behavior of SoS is often caused by the complex interactions between the involved systems and their environment at runtime. Monitoring infrastructures (MIs) provide support f...
Conference Paper
In many domains organizations need to serve a mass market while at the same time customers request highly individual solutions. Companies thus form software ecosystems (SECOs) comprising various related hardware and software product lines (SPLs). Technology changes, internal enhancements, and customer requests drive the evolution of such SECOs. Mul...
Article
Software engineering methods for analyzing and managing variable software systems rely on accurate feature-to-code mappings to relate high-level variability abstractions, such as features or decisions, to locations in the code where variability occurs. Due to the continuous and long-term evolution of many systems such mappings need to be extracted...
Article
In software ecosystems (SECOs) both internal and external engineers develop software solutions for specific market segments and customers based on common technological platforms. SECOs pose new challenges for software engineering as the platforms are evolved by different development teams and communities. Despite a significant body of research only...
Conference Paper
When developing large-scale industrial software systems engineers need to instantiate, configure, and deploy diverse reusable components. The number of component instances required depends on customer requirements only known during configuration and is typically unknown when modeling the systems’ variability. Also, the hierarchy of dynamically crea...
Conference Paper
Application engineers frequently create customer-specific products in two stages: the required software components are first selected to create an initial product which is then evolved by refining the selected features and adapting the code to meet the customers' requirements. For instance, developers frequently set configuration options in the cod...
Conference Paper
An increasing number of software systems today are verylarge-scale software systems (VLSS) with system-of-systems (SoS) architectures. Due to their heterogeneity and complexity VLSS are dificult to understand and analyze, which results in various challenges for development and evolution. Existing software engineering processes, methods, and tools d...
Article
In software ecosystems (SECOs) both internal and external developers build software solutions for specific market segments based on common technological platforms. Despite a significant body of research on SECOs there is still a need to empirically investigate the characteristics of SECOs in specific industrial environments to understand and improv...
Conference Paper
[Context and motivation] Approaches for requirements monitoring check the compliance of systems with their requirements during operation. [Question/problem] Despite many advances, requirements monitoring remains challenging particularly for very-large-scale software systems (VLSS) with system-of-systems architectures. [Principal ideas/results] In t...
Conference Paper
Engineers developing large-scale industrial software systems need to instantiate, configure, and deploy many different types of reusable components. The number of component instances required is typically unknown when defining the systems' architecture and variability but depends on customer requirements only known during configuration. The hierarc...
Conference Paper
Many software systems today have system-of systems (SoS) architectures comprising interrelated and heterogeneous systems, which are developed by multiple teams and companies. Such systems emerge gradually and it is hard to analyze or predict their behavior due to their scale and complexity. In particular, certain behavior only emerges at runtime du...
Conference Paper
Non-functional properties such as memory footprint have recently gained importance in software product line research. However, determining the memory characteristics of individual features and product variants is extremely challenging. We present an approach that supports the monitoring of memory characteristics of individual features at the level...
Conference Paper
Large-scale software-intensive systems are often considered as systems of systems (SoS) comprising multiple heterogeneous but interrelated systems. The engineering of SoS often involves the derivation of system variants from multiple interrelated product lines to meet the overall requirements. If multiple teams and experts are involved in the confi...
Conference Paper
High demands regarding the variability of automation software motivate organizations to automate the configuration process. In practice, this often leads to the development of custom configuration tools designed specifically for configuring the automation software they were developed for. This approach works well as long as both, the development of...
Conference Paper
An increasing number of software systems today are systems of systems (SoS) comprising decentralized and heterogeneous systems with operational and managerial independence. The evolution of SoS is the rule and not the exception in practice due to frequently changing requirements, technologies, and markets. However, providing adequate support for th...
Conference Paper
The Doctoral Symposium brings together PhD students working in requirements engineering to facilitate the interaction among students and RE researchers. Students present their research and receive constructive feedback from a panel of senior researchers. The doctoral symposium is run in a highly interactive and workshop-like format.
Conference Paper
We conducted several empirical studies over the last couple of years as part of a collaboration with industrial partners in the area of software product lines. Our studies differed regarding their motivation and goals, their scope, the research methods applied, and the involved subjects. In this experience paper we briefly summarize the studies and...
Conference Paper
[Context and motivation] Large-scale software-intensive systems are often considered as systems of systems comprising several interrelated product lines from which system variants are derived to meet the overall requirements. [Question/problem] If multiple teams and experts configure these individual systems, their individual configuration choices...
Conference Paper
Large-scale industrial systems comprise multiple heterogeneous systems that need to be adapted and configured individually to meet the customers' needs. Product line techniques such as variability modeling and product derivation are frequently used to enable such customization. However, managing the life cycle of multiple product lines in system-of...
Conference Paper
Full-text available
There have been several proposals to describe the variability of software product lines by using modeling languages. In larger organizations or projects (e.g., multi product line environments) this can lead to a situation where multiple variability modeling techniques are used simultaneously. Rather than enforcing a single modeling language, we pre...
Conference Paper
Today's large-scale software systems are frequently based on system-of-systems architectures comprising multiple heterogeneous systems. Multi product lines have been presented as an approach to ease their development through systematic reuse. In multi product lines different users and teams are involved in product derivation. Users configure the in...
Chapter
Software product lines typically are large-scale systems that are maintained and evolved over many years. New customer requirements, technology changes, and internal enhancements lead to continuous changes of product line artifacts. Managing these changes represents a key issue during evolution and traceability is success-critical for this process....
Article
Software product lines rely on developing reusable artifacts and defining their variability in models to support and accelerate the derivation of individual products. A major challenge in product lines is the continuous evolution of both the reusable artifacts and derived products. Products that have been derived from a product line have to be upda...
Chapter
This chapter seeks to provide a reference resource on traceability fundamentals. It defines the essential traceability terminology of trace, trace artifact, trace link, traceability and tracing, and is supplemented by an extensive glossary that has been developed and endorsed by members of the traceability community. This chapter also offers a mode...
Chapter
This chapter offers a vision for traceability in software and systems engineering and outlines eight challenges that need to be addressed in order to achieve it. One of these challenges is referred to as the grand challenge of traceability because making traceability ubiquitous in software and systems development (traceability challenge eight) dema...
Conference Paper
Product line engineering relies on heterogeneous models and artifacts to define and implement the product line's reusable assets. The complexity and heterogeneity of product line artifacts as well as their interdependencies make it hard to maintain consistency during development and evolution, regardless of the modeling approaches used. Engineers t...

Network

Cited By