Paul Grünbacher

dblp:g/PGrunbacher · DBLP profile ↗
← Back
120ranked-venue papers
11as first author
10since 2021 · last 2025
0000-0002-1951-5288ORCID · verified

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

Software engineering, systems software and programming languages · 113 · 9 first-author · 10 since 2021Applied, interdisciplinary, general and emerging computing · 16 · 2 since 2021Artificial intelligence and machine learning · 13Systems, architecture and hardware · 4 · 1 first-authorHuman-computer interaction and ubiquitous computing · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 1
YearPublicationVenuePosition
2025 Feature-Based Versioning for ML-Enabled Product Lines
Matthias Preuner, Paul Grünbacher, Pedro Luiz de Paula Filho, Alexander Egyed
SEAA2
2024 Digital Process Twins for Interleaving Requirements Elicitation and Design of Cyber-Physical Systems
abstract
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 knowledge required for effective designs. In particular, we pose that process-oriented model representations can help to account for various concerns (e.g.: privacy and security) across CPS components in a human-centered way, thereby enabling the active participation of relevant actors in requirements elicitation and design exploration. Our human-centered approach uses Digital Process Twins (DPTs) for eliciting and refining requirements for CPS design, and for supporting agile CPS development. Our ongoing project follows the design science method. We demonstrate results of the first design cycle and provide an example illustrating the modeling part of our methodology.
Thomas Ernst Jost, Paul Grünbacher, Christian Stary
RE2
2023 Analysis and Propagation of Feature Revisions in Preprocessor-based Software Product Lines
abstract
Preprocessor-based software product lines (SPLs) are used to deal with evolution in space, in which features (so-called configuration options)—annotated in source code with #ifdefs—are included, removed, and systematically reused. Inevitably, feature implementations also evolve over time, i.e., when existing features are revised. Nowadays, Version control systems (VCSs) are well-integrated into SPL development processes for versioning support of releases. Changes to existing features in one version, a.k.a. release of an SPL, usually developed in a branch, frequently need to be propagated to other active releases. However, there is no automated support for analyzing and propagating features in SPL releases. For instance, VCSs can only propagate changes at the commit level, but miss support at the feature level, i.e., the building blocks of SPLs. Manually analyzing and propagating a version of a feature, i.e., a feature revision, through #ifdefs is risky, time-consuming, and error-prone because a feature can be interacting with multiple features and it can be spread in multiple blocks of code across different files. We thus present a novel and tool-supported approach for the analysis and propagation of feature revisions. We evaluated our approach quantitatively by computing its correct behavior and runtime. Our approach analyzes and propagates a feature implementation in ≈63 seconds, with, on average, precision and recall of 99%. In total, we propagated 3,134 features in space and time between 200 pairs of releases on four real-world preprocessor-based SPLs. In addition, we qualitatively evaluated the usefulness of our tool support by conducting interviews with five experienced core developers of three popular preprocessor-based SPLs. The qualitative results confirm that our tool support is useful to speed up the analysis and propagation of feature revisions.
Gabriela Karoline Michelon, Wesley K. G. Assunção, Paul Grünbacher, Alexander Egyed
SANER3
2022 Evolving software system families in space and time with feature revisions
abstract
Abstract 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 orthogonally along these two dimensions, resulting in challenges for software maintenance. Our work addresses this challenge with ECSEST (Extraction and Composition for Systems Evolving in Space and Time), an approach for locating feature revisions and composing variants with different feature revisions. We evaluated ECSEST using feature revisions and variants from six highly configurable open source systems. To assess the correctness of our approach, we compared the artifacts of input variants with the artifacts from the corresponding composed variants based on the implementation of the extracted features. The extracted traces allowed composing variants with 99-100% precision, as well as with 97-99% average recall. Regarding the composition of variants with new configurations, our approach can combine different feature revisions with 99% precision and recall on average. Additionally, our approach retrieves hints when composing new configurations, which are useful to find artifacts that may have to be added or removed for completing a product. The hints help to understand possible feature interactions or dependencies. The average time to locate feature revisions ranged from 25 to 250 seconds, whereas the average time for composing a variant was 18 seconds. Therefore, our experiments demonstrate that ECSEST is feasible and effective.
Gabriela Karoline Michelon, David Obermann, Wesley K. G. Assunção, Lukas Linsbauer, Paul Grünbacher, Stefan Fischer 0006, Roberto Erick Lopez-Herrejon, Alexander Egyed
Empir. Softw. Eng.5
2022 Feature-oriented clone and pull operations for distributed development and evolution
abstract
Abstract 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 new or modify existing features. However, when merging back features to the product line, the information about feature-to-code mappings is usually lost. Furthermore, the granularity of merging is limited to branches, making it hard to extract and merge selected individual features from one product to another. This paper thus presents feature-oriented clone and pull operations for distributed development, which are implemented in the FORCE2 platform. Our evaluation uses variants of the ArgoUML product line to investigate the correctness and performance of our approach. The results show that the feature-oriented operations work with high precision and recall for different cases of feature interactions, also when feature implementations are scattered across many locations in the source code. The performance measurements demonstrate that the operations can be integrated in the typical workflows of engineers.
Daniel Hinterreiter, Lukas Linsbauer, Herbert Prähofer, Paul Grünbacher
Softw. Qual. J.4
2021 An Approach for Ranking Feature-based Clustering Methods and its Application in Multi-System Infrastructure Monitoring
abstract
Companies need to collect and analyze time series data to continuously monitor the behavior of software systems during operation, which can in turn be used for performance monitoring, anomaly detection or identifying problems after system crashes. However, gaining insights into common data patterns in time series is challenging, in particular, when analyzing data concerning different properties and from multiple systems. Clustering approaches have been hardly studied in the context of monitoring data, despite their possible benefits. In this paper, we present a feature-based approach to identify clusters in unlabeled infrastructure monitoring data collected from multiple independent software systems. We introduce time series properties which are grouped into feature sets and combine them with various unsupervised machine learning models to find the methods best suited for our clustering goal. We thoroughly evaluate our approach using two large-scale, industrial monitoring datasets. Finally, we apply one of the top-ranked methods to thousands of time series from hundreds of software systems, thereby showing the usefulness of our approach.
Andreas Schörgenhumer, Thomas Natschläger, Paul Grünbacher, Mario Kahlhofer, Peter Chalupar, Hanspeter Mössenböck
SEAA3
2021 The life cycle of features in highly-configurable software systems evolving in space and time
abstract
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 evolving features in space and time is still limited. To extend the knowledge on this topic, we analyze the feature life cycle in space and time. Specifically, we introduce an automated mining approach and apply it to four HCSSs, analyzing commits of their entire development life cycle (13 to 20 years and 37,500 commits). This goes beyond existing studies, which investigated only differences between specific releases or entire systems. Our results show that features undergo frequent changes, often with substantial modifications of their code. The findings of our empirical analyses stress the need for better support of system evolution in space and time at the level of features. In addition to these analyses, we contribute an automated mining approach for the analysis of system evolution at the level of features. Furthermore, we also make available our dataset to foster new studies on feature evolution in HCSSs.
Gabriela Karoline Michelon, Wesley K. G. Assunção, David Obermann, Lukas Linsbauer, Paul Grünbacher, Alexander Egyed
GPCE5
2021 Foreword to the Special Issue on Configurable Systems
Laurence Duchien, Paul Grünbacher, Thomas Thüm
Empir. Softw. Eng.2
2021 Concepts of variation control systems
Lukas Linsbauer, Felix Schwägerl, Thorsten Berger, Paul Grünbacher
J. Syst. Softw.4
2021 Evolution in dynamic software product lines
abstract
Abstract 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 control their runtime adaptation and reconfiguration. Dynamic software product lines (DSPLs) can help to achieve this. However, dealing with evolution is particularly challenging in a DSPL, as changes made at runtime can easily lead to inconsistencies. This paper describes the challenges of evolving DSPLs using an example cyber‐physical system for home automation. We discuss the shortcomings of existing work and present a reference architecture to support DSPL evolution. To demonstrate its feasibility and flexibility, we implemented the proposed reference architecture for two different DSPLs: the aforementioned cyber‐physical system, which uses feature models to describe its variability, and a runtime monitoring infrastructure, which is based on decision models. To assess the industrial applicability of our approach, we also implemented the reference architecture for a real‐world DSPL, an automation software system for injection molding machines. Our results provide evidence on the flexibility, performance, and industrial applicability of our approach.
Clément Quinton, Michael Vierhauser, Rick Rabiser, Luciano Baresi, Paul Grünbacher, Christian Schuhmayer
J. Softw. Evol. Process.5
2020 Visualizing Feature-Level Evolution in Product Lines: A Research Preview
Daniel Hinterreiter, Paul Grünbacher, Herbert Prähofer
REFSQ2
2020 Foreword to the Special Issue in Empirical Software Engineering: Best Papers of REFSQ 2019
Eric Knauss, Michael Goedicke, Paul Grünbacher
Empir. Softw. Eng.3
2020 Evaluating an Interactive Memory Analysis Tool: Findings from a Cognitive Walkthrough and a User Study
abstract
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 conducted a study to empirically assess the usefulness of the interactive memory analysis tool AntTracks Analyzer. Specifically, we first report findings from assessing the tool using a cognitive walkthrough, guided by the Cognitive Dimensions of Notations Framework. We then present the results of a qualitative user study involving 14 subjects who used AntTracks to detect and resolve memory anomalies. We report lessons learned from the study and implications for developers of interactive memory analysis tools. We hope that our results will help researchers and developers of memory analysis tools in defining, selecting, and improving tool capabilities.
Markus Weninger, Paul Grünbacher, Elias Gander, Andreas Schörgenhumer
Proc. ACM Hum. Comput. Interact.2
2019 A Constraint Mining Approach to Support Monitoring Cyber-Physical Systems
Thomas Krismayer, Rick Rabiser, Paul Grünbacher
CAiSE3
2019 Supporting feature model evolution by suggesting constraints from code-level dependency analyses
abstract
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 challenging to keep feature models consistent with their implementation. We thus present an approach combining feature-to-code mappings and code dependency analyses to inform engineers about possible inconsistencies. Our focus is on code-level changes requiring updates in feature dependencies and constraints. Our approach uses static code analysis and a variation control system to lift complex code-level dependencies to feature models. We present the suggested dependencies to the engineer in two ways: directly as links between features in a feature model and as a heatmap visualizing the dependency changes of all features in a model. We present results of an evaluation on the Pick-and-Place Unit system, which demonstrates the utility and performance of our approach and the quality of the suggestions.
Kevin Feichtinger, Daniel Hinterreiter, Lukas Linsbauer, Herbert Prähofer, Paul Grünbacher
GPCE5
2019 Harmonized temporal feature modeling to uniformly perform, track, analyze, and replay software product line evolution
abstract
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 research collaborations due to a lack of interoperability regarding notations, editors, and analyses. We present a common API for TFMs, which provides the core of a TFM ecosystem, to harmonize notations. We identified the requirements for the API based on systematically classifying and comparing the capabilities of existing TFM approaches. Our approach allows to work seamlessly with different TFM notations to perform, track, analyze and replay evolution. Our evaluation investigates two research questions on the expressiveness (RQ1) and utility (RQ2) of our approach by presenting implementations for several existing FM and TFM notations and replaying evolution histories from two case study systems.
Daniel Hinterreiter, Michael Nieke, Lukas Linsbauer, Christoph Seidl 0001, Herbert Prähofer, Paul Grünbacher
GPCE6
2019 Comparing Constraints Mined From Execution Logs to Understand Software Evolution
abstract
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, or system execution logs. In this paper, we propose an approach for comparing run-time constraints, synthesized by a constraint mining algorithm, based on execution logs recorded before and after changes. Specifically, automatically mined constraints define the expected timing and order of recurring events and the values of data elements attached to events. Our approach presents the differences of the mined constraints to users, thereby providing a higher-level view on software evolution and supporting the analysis of the impact of changes on system behavior. We present a motivating example and a preliminary evaluation based on a cyber-physical system controlling unmanned aerial vehicles. The results of our preliminary evaluation show that our approach can help to analyze changed behavior and thus contributes to understanding software evolution.
Thomas Krismayer, Michael Vierhauser, Rick Rabiser, Paul Grünbacher
ICSME4
2019 Using constraint mining to analyze software development processes
abstract
Most software development organizations nowadays use issue-tracking tools to manage software processes throughout the life-cycle. Still, understanding development processes, keeping track of process execution, and reacting to deviations in projects remains challenging. In particular, the actual process usually differs from the process perceived by developers, making it hard to define the processes developers are expected to carry out. This is further challenged by frequently changing processes and process variations in different projects and teams. In this paper we describe an empirical study in which we applied a constraint mining approach from the field of software monitoring to automatically extract process definitions in the form of constraints. Specifically, we applied the approach to datasets extracted from four real-world projects (using the Jira issue-tracking tool) in a company developing a recreational activities platform. The mined constraints describe the boundaries of the actual processes and thus help to understand process behavior. Constraints can be frequently re-mined to understand process evolution. The mined constraints can also be used to monitor future processes to detect problems in the development process early on. We involved a domain expert to evaluate the usefulness of our results and investigated to what extent the mined constraints reflect the official development process of the company. We also report mining results for different issue types, across projects, and over different time windows.
Thomas Krismayer, Christoph Mayr-Dorn, Johann Tuder, Rick Rabiser, Paul Grünbacher
ICSSP5
2019 Supporting Feature Model Evolution by Lifting Code-Level Dependencies: A Research Preview
Daniel Hinterreiter, Kevin Feichtinger, Lukas Linsbauer, Herbert Prähofer, Paul Grünbacher
REFSQ5
2019 Supporting the Selection of Constraints for Requirements Monitoring from Automatically Mined Constraint Candidates
Thomas Krismayer, Peter Kronberger, Rick Rabiser, Paul Grünbacher
REFSQ4
2019 A User Study on the Usefulness of Visualization Support for Requirements Monitoring
abstract
Many requirements monitoring approaches have been proposed that check key properties of systems and their interactions at runtime. Some of these approaches also visualize monitoring results and provide details on requirements violations to end users. However, only few studies exist about the usefulness of requirements monitoring tools for practitioners, particularly regarding visualization. In this paper, we present a user study we have conducted with both industrial practitioners and researchers to assess the usefulness of visualization capabilities we have been developing for an event-based requirements monitoring tool. These capabilities allow users to monitor the status of the involved systems, to view trends and statistics, and to inspect the events and data that led to specific violations when diagnosing their root cause. We first performed a walkthrough of the tool using the cognitive dimensions of notations framework from the field of human-computer interaction. We then conducted a user study involving five software engineers of a large company from the automation software domain and four researchers. Using the tool's visualization capabilities all subjects succeeded in monitoring a real-world automation system and in diagnosing violations. Subjects regarded the visualization capabilities as essential for understanding the behavior of a complex system. Based on the study results we derive implications, opportunities, and risks of using visualization in requirements monitoring tools.
Lisa Maria Kritzinger, Thomas Krismayer, Rick Rabiser, Paul Grünbacher
VISSOFT4
2019 Change impact analysis for maintenance and evolution of variable software systems
abstract
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 presents an interprocedural and configuration-aware change impact analysis (CIA) approach for determining the possibly impacted source code elements when changing the source code of a product family. The approach also supports engineers, who are adapting the code of specific product variants after an initial pre-configuration. The approach can be adapted to work with different variability mechanisms, it is more precise than existing CIA approaches, and it can be implemented using standard control flow and data flow analysis. We report evaluation results on the benefit and performance of the approach using industrial product lines.
Florian Angerer, Andreas Grimmer, Herbert Prähofer, Paul Grünbacher
Autom. Softw. Eng.4
2019 A domain analysis of resource and requirements monitoring: Towards a comprehensive model of the software monitoring domain
Rick Rabiser, Klaus Schmid, Holger Eichelberger, Michael Vierhauser, Sam Guinea, Paul Grünbacher
Inf. Softw. Technol.6
2018 Tool Support for Restricted Use Case Specification: Findings from a Controlled Experiment
abstract
Evidence has shown that the use of restricted natural languages can reduce ambiguities in textual use case specifications (UCSs). Restricted natural languages often come with specific editors that support particular use case templates and provide enforcement of the language's restrictions. However, whether restriction enforcement facilitates the definition of UCSs as compared to an editor without such support is a fundamental question to answer. To this end, we report results of a controlled experiment in which we compared two approaches for defining restricted UCSs: (i) a specific Restricted Use Case Modeling (RUCM) tool that supports restriction enforcement; and (ii) a general Office Word UCS template without such enforcement. We compared both approaches from multiple perspectives including restriction misuse, understandability, and restrictiveness. Results show that the restriction misuse rates are generally low, which indicates the usefulness of the RUCM, independent of the use of the editors. The results also indicate that the RUCM tool eases the application of more complex restrictions. We also found that the participants profited from extensive training prior to the experiment. The experiment participants further showed their strong willingness to recommend the RUCM tool to others and to use it in the future, which was not the case for the Office Word template.
Markus Weninger, Paul Grünbacher, Huihui Zhang 0003, Tao Yue 0002, Shaukat Ali 0001
APSEC2
2018 Feature-Oriented Evolution of Automation Software Systems in Industrial Software Ecosystems
abstract
In the domain of industrial automation many companies nowadays need to serve a mass market while at the same time customers demand individual customer-specific solutions. Such customizations often apply to individual products only but may also be needed at the level of product lines for whole market segments. To handle this problem, development is frequently organized in software ecosystems (SECOs), i.e., interrelated software product lines involving internal and external developers. This paper introduces an approach supporting feature-oriented, distributed development and evolution in industrial SECOs. It is common industrial practice to first derive initial products from a product line, then adding and adapting features to satisfy individual customer requirements, possibly followed by merging back these changes into the original product line. Our approach goes beyond this practice and also allows to share new or updated features by transferring them to other product lines in the ecosystem. This is for instance useful when a feature developed in an individual customer project becomes relevant for another market segment or when updates of features need to be transferred to related products in the ecosystem. We describe and motivate research challenges based on the industrial ecosystem of an industry partner. We outline the key elements and operations of our approach, including an implementation in our FORCE2development environment. We demonstrate application scenarios from the well-known Pick-and-Place Unit (PPU) system as a proof of concept.
Daniel Hinterreiter, Herbert Prähofer, Lukas Linsbauer, Paul Grünbacher, Florian Reisinger, Alexander Egyed
ETFA4
2018 Monitoring CPS at Runtime - A Case Study in the UAV Domain
abstract
Unmanned aerial vehicles (UAVs) are becoming increasingly pervasive in everyday life, supporting diverse use cases such as aerial photography, delivery of goods, or disaster reconnaissance and management. UAVs are cyber-physical systems (CPS): they integrate computation (embedded software and control systems) with physical components (the UAVs flying in the physical world). UAVs in particular and CPS in general require monitoring capabilities to detect and possibly mitigate erroneous and safety-critical behavior at runtime. Existing monitoring approaches mostly do not adequately address UAV CPS characteristics such as the high number of dynamically instantiated components, the tight int elements, and the massive amounts of data that need to be processed. In this paper we report results of a case study on monitoring in UAVs. We discuss CPS-specific monitoring challenges and present a prototype we implemented by extending \reminds, a framework for software monitoring so far mainly used in the domain of metallurgical plants. Additionally, we demonstrate the applicability and scalability of our approach by monitoring a real control and management system for UAVs in simulations with up to 30 drones flying in an urban area.
Michael Vierhauser, Jane Cleland-Huang, Sean Bayley, Thomas Krismayer, Rick Rabiser, Paul Grünbacher
SEAA6
2018 Using Crash Frequency Analysis to Identify Error-Prone Software Technologies in Multi-System Monitoring
abstract
Faults are common in large software systems and must be analyzed to prevent future failures such as system outages. Due to their sheer amount, the observed failures cannot be inspected individually but must be automatically grouped and prioritized. An open challenge is to find similarities in failures across different systems. We propose a novel approach for identifying error-prone software technologies via a cross-system analysis based on monitoring and crash data. Our approach ranks the error-prone software technologies and analyzes the occurred exceptions, thus making it easier for developers to investigate cross-system failures. Finding such failures is highly advantageous as fixing a fault may benefit many affected systems. A preliminary case study on monitoring data of hundreds of different systems demonstrates the feasibility of our approach.
Andreas Schörgenhumer, Mario Kahlhofer, Hanspeter Mössenböck, Paul Grünbacher
QRS4
2018 Supporting Diagnosis of Requirements Violations in Systems of Systems
abstract
Industrial software systems are often systems of systems (SoS) whose full behavior only emerges during operation. They therefore require monitoring techniques to observe systems and detect deviations from their requirements. The focus of existing monitoring approaches, however, is mainly on detecting violations of expected behavior, while support for diagnosing violations is typically limited or even neglected. Diagnosis is particularly challenging in SoS due to their technological heterogeneity and the diversity of development tools in use. Uncovering the root cause of a violation typically requires developers to trace violations to artifacts such as source code or requirements documents, which is difficult without detailed domain knowledge. In this paper we describe our experiences of developing a tool-supported approach facilitating the diagnosis of requirements violations in SoS. We describe how we complemented a requirements monitoring model with a system artifact model relating SoS artifacts needed for diagnosis with monitored events. We customized our approach to an industrial SoS and conducted a scenario-based walkthrough with engineers developing the SoS and engineers and researchers unfamiliar with it. The results of our evaluation have shown that our approach can significantly ease diagnosing violations in a real-world SoS.
Michael Vierhauser, Jane Cleland-Huang, Rick Rabiser, Thomas Krismayer, Paul Grünbacher
RE5
2018 A comparison framework for runtime monitoring approaches (journal-first abstract)
abstract
This extended abstract summarizes our paper entitled "A Comparison Framework for Runtime Monitoring Approaches" published in the Journal on Systems and Software in vol. 125 in 2017 (https://doi.org/10.1016/jjss.2016.12.034). This paper provides the following contributions: (i) a framework that supports analyzing and comparing runtime monitoring approaches using different dimensions and elements; (ii) an application of the framework to analyze and compare 32 existing monitoring approaches; and (iii) a discussion of perspectives and potential future applications of our framework, e.g., to support the selection of an approach for a particular monitoring problem or application context.
Rick Rabiser, Sam Guinea, Michael Vierhauser, Luciano Baresi, Paul Grünbacher
SANER5
2018 Guest editorial: selected areas in automated software engineering
Marsha Chechik, Paul Grünbacher
Autom. Softw. Eng.2
2018 Developing and evolving a DSL-based approach for runtime monitoring of systems of systems
Rick Rabiser, Jürgen Thanhofer-Pilisch, Michael Vierhauser, Paul Grünbacher, Alexander Egyed
Autom. Softw. Eng.4
2018 Foreword to the special issue on empirical research in requirements engineering
Paul Grünbacher, Anna Perini
Empir. Softw. Eng.1
2018 Multi-purpose, multi-level feature modeling of large-scale industrial software systems
abstract
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 product configuration. Furthermore, models are required at different levels of granularity. Although numerous approaches and tools are available, it remains hard to define the purpose, scope, and granularity of feature models. This paper first reports results and experiences of an exploratory case study on developing feature models for two large-scale industrial automation software systems. We report results on the characteristics and modularity of the feature models, including metrics about model dependencies. Based on the findings from the study, we developed FORCE, a modeling language, and tool environment that extends an existing feature modeling approach to support models for different purposes and at multiple levels, including mappings to the code base. We demonstrate the expressiveness and extensibility of our approach by applying it to the well-known Pick and Place Unit example and an injection molding subsystem of an industrial product line. We further show how our approach supports consistency between different feature models. Our results and experiences show that considering the purpose and level of features is useful for modeling large-scale systems and that modeling dependencies between feature models is essential for developing a system-wide perspective.
Daniela Rabiser, Herbert Prähofer, Paul Grünbacher, Michael Petruzelka, Klaus Eder, Florian Angerer, Mario Kromoser, Andreas Grimmer
Softw. Syst. Model.3
2017 A classification of variation control systems
abstract
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. Variants are supported via branching or forking mechanisms that conceptually clone the whole system under development. It is known that such cloning practices come with disadvantages. In fact, while short-lived branches for isolated development of new functionality (a.k.a. feature branches) are well supported, dealing with long-term and fine-grained system variants currently requires employing additional mechanisms, such as preprocessors, build systems or custom configuration tools. Interestingly, the literature describes a number of variation control systems, which provide a richer set of capabilities for handling fine-grained system variants compared to the version control systems widely used today. In this paper we present a classification and comparison of selected variation control systems to get an understanding of their capabilities and the advantages they can offer. We discuss problems of variation control systems, which may explain their comparably low popularity. We also propose research activities we regard as important to change this situation.
Lukas Linsbauer, Thorsten Berger, Paul Grünbacher
GPCE3
2017 An Experiment Comparing Lifted and Delayed Variability-Aware Program Analysis
abstract
Today's software systems need to be highly flexible and managing their variability plays an essential role during development. Variability-aware program analysis techniques have been proposed to support developers in understanding code-level variability by analyzing the space of program variants. Such techniques are highly beneficial, e.g., when determining the impact of changes during maintenance and evolution. Two strategies have been proposed in the literature to make existing program analysis techniques variability-aware:(i) program analysis can be lifted by considering variability already in the parsing stage; or(ii) analysis can be delayed by considering and recovering variability only when needed. Both strategies have advantages and disadvantages, however, a systematic comparison is still missing. The contributions of this paper are an in-depth comparison of SPLLIFT and COACH, two existing approaches representing these two strategies, and an analysis and discussion of the trade-offs regarding precision and run-time performance. The results of our experiment show that the delayed strategy is significantly faster but typically less precise. Our findings are intended for researchers and practitioners deciding which strategy to select for their purpose and context.
Florian Angerer, Paul Grünbacher, Herbert Prähofer, Lukas Linsbauer
ICSME2
2017 Mining constraints for event-based monitoring in systems of systems
abstract
The full behavior of software-intensive systems of systems (SoS) emerges during operation only. Runtime monitoring approaches have thus been proposed to detect deviations from the expected behavior. They commonly rely on temporal logic or domain-specific languages to formally define requirements, which are then checked by analyzing the stream of monitored events and event data. Some approaches also allow developers to generate constraints from declarative specifications of the expected behavior. However, independent of the approach, deep domain knowledge is required to specify the desired behavior. This knowledge is often not accessible in SoS environments with multiple development teams independently working on different, heterogeneous systems. In this New Ideas Paper we thus describe an approach that automatically mines constraints for runtime monitoring from event logs recorded in SoS. Our approach builds on ideas from specification mining, process mining, and machine learning to mine different types of constraints on event occurrence, event timing, and event data. The approach further presents the mined constraints to users in an existing constraint language and it ranks the constraints using different criteria. We demonstrate the feasibility of our approach by applying it to event logs from a real-world industrial SoS.
Thomas Krismayer, Rick Rabiser, Paul Grünbacher
ASE3
2017 Visualization support for requirements monitoring in systems of systems
abstract
Industrial software systems are often systems of systems (SoS) whose full behavior only emerges at runtime. The systems and their interactions thus need to be continuously monitored and checked during operation to determine compliance with requirements. Many requirements monitoring approaches have been proposed. However, only few of these come with tools that present and visualize monitoring results and details on requirements violations to end users such as industrial engineers. In this tool demo paper we present visualization capabilities we have been developing motivated by industrial scenarios. Our tool complements ReMinds, an existing requirements monitoring framework, which supports collecting, aggregating, and analyzing events and event data in architecturally heterogeneous SoS. Our visualizations support a `drill-down' scenario for monitoring and diagnosis: starting from a graphical status overview of the monitored systems and their relations, engineers can view trends and statistics about performed analyses and diagnose the root cause of problems by inspecting the events and event data that led to a specific violation. Initial industry feedback we received confirms the usefulness of our tool support. Demo video: https://youtu.be/iv7kWzeNkdk..
Lisa Maria Kritzinger, Thomas Krismayer, Michael Vierhauser, Rick Rabiser, Paul Grünbacher
ASE5
2017 A comparison framework for runtime monitoring approaches
Rick Rabiser, Sam Guinea, Michael Vierhauser, Luciano Baresi, Paul Grünbacher
J. Syst. Softw.5
2016 Modular Change Impact Analysis for Configurable Software
abstract
Slicing-based change impact analysis is an important and established technique to assess the effects of modifications to source code. Program slicing is usually done by performing a graph reachability analysis on a system dependence graph representing the control and data flow dependencies between statements. However, analyzing large-scale software systems can lead to performance issues, resulting in huge dependence graphs and long analysis times. In this paper we present an approach that exploits the modularity of large-scale systems to first perform program analysis for individual modules, and later compose the pre-computed analysis results. However, partitioning a system dependence graph is not straightforward, as it carries presence conditions representing variability. We thus use placeholders that are resolved when composing the pre-computed SDG modules during configuration-aware program analysis. Our approach is particularly useful in the context of product lines, when product variants are derived by composing modules depending on specific customer requirements. We present preliminary results of an evaluation based on a product line from an industrial partner.
Florian Angerer, Herbert Prähofer, Paul Grünbacher
ICSME3
2016 Feature-oriented development in industrial automation software ecosystems: Development scenarios and tool support
abstract
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 settings, software development usually occurs in a multistage process: system variants initially derived from a platform are adapted and extended to meet specific requirements. This common approach, however, results in significant challenges for software development and maintenance. In this paper we review key challenges we have been observing when investigating our industrial partner's software ecosystems. We then present a feature-oriented development approach we have been developing to tackle those. Our approach is backed with static analysis methods to deal with system variants and versions created in software maintenance.
Herbert Prähofer, Daniela Rabiser, Florian Angerer, Paul Grünbacher, Peter Feichtinger
INDIN4
2016 A prototype-based approach for managing clones in clone-and-own product lines
abstract
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 the functionality required by customers. Clones are created at different levels of granularity, ranging from individual features to entire systems. Refactoring and reverse engineering approaches have been proposed for dealing with cloned product variants. However, managing clones has not been addressed in the context of feature models. For instance, if clones are created to address customer requirements in specific product variants, the connection to the original feature models is frequently lost. We thus present a modeling approach based on prototypes, i.e., prefabricated objects from which clones are created. Our approach allows to manage prototypes and their clones at the levels of products, components, and features. We use compliance levels to define the required level of consistency between prototypes and clones. We further adapt an existing consistency checking framework for detecting inconsistent clones when the product line evolves. Our approach uses feature-to-code mappings to determine the impact of changes on code elements. We present a case study illustrating prototypes, clones, and compliance levels in selected development scenarios of our industry partner's product line. We also discuss the use of static code analysis techniques to support engineers in determining the impact of changed prototypes on affected clones, an area we plan to address in our future work.
Daniela Rabiser, Paul Grünbacher, Herbert Prähofer, Florian Angerer
SPLC2
2016 Supporting Program Analysis for Non-Mainstream Languages: Experiences and Lessons Learned
abstract
Static code analysis techniques are widely and successfully used for mainstream programming languages. However, domain-specific languages and company-specific variations of languages often lack the same level of support. An example is the domain of industrial automation, where programmable logic controller programs are mainly written in languages conforming to the IEC 61131-3 standard, a non-mainstream family of languages. This experience paper reports about the development of a program analysis framework for the IEC 61131-3 languages. We use OMG's Abstract Syntax Tree Meta-Model (ASTM) as an abstract representation and show our extensions of this model to represent the different IEC 61131-3 languages. Using this representation our approach generates Jimple code, an intermediate representation used by the Soot program analysis framework. We use Soot's standard analysis methods to compute a system dependence graph, which is then used for change impact analysis. We apply our approach to industrial-size product lines of our industry partner to demonstrate its correctness and performance. Finally, we discuss experiences and lessons learned intended for developers of program analysis methods for nonmainstream languages.
Andreas Grimmer, Florian Angerer, Herbert Prähofer, Paul Grünbacher
SANER4
2016 Requirements monitoring frameworks: A systematic review
Michael Vierhauser, Rick Rabiser, Paul Grünbacher
Inf. Softw. Technol.3
2016 ReMinds : A flexible runtime monitoring framework for systems of systems
Michael Vierhauser, Rick Rabiser, Paul Grünbacher, Klaus Seyerlehner, Helmut Zeisel
J. Syst. Softw.3
2015 Configuration-Aware Change Impact Analysis (T)
abstract
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 paper presents an interprocedural and configuration-aware change impact analysis (CIA) approach for determining possibly impacted products when changing source code of a product family. The approach further supports engineers, who are adapting specific product variants after an initial pre-configuration. The approach can be adapted to work with different variability mechanism, it provides more precise results than existing CIA approaches, and it can be implemented using standard control flow and data flow analysis. Using an industrial product line we report evaluation results on the benefit and performance of the approach.
Florian Angerer, Andreas Grimmer, Herbert Prähofer, Paul Grünbacher
ASE4
2015 Developing a DSL-Based Approach for Event-Based Monitoring of Systems of Systems: Experiences and Lessons Learned (E)
abstract
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 characteristics. However, existing approaches often focus on specific types of systems and address certain kinds of checks, thus impeding their use in industrial SoS. Furthermore, as many SoS need to run continuously for long periods, the dynamic definition and deployment of constraints needs to be supported. In this paper we describe experiences of developing and applying a DSL-based approach for monitoring an SoS in the domain of industrial automation software. We evaluate both the expressiveness of our DSL as well as the scalability of the constraint checker. We also describe lessons learned.
Michael Vierhauser, Rick Rabiser, Paul Grünbacher, Alexander Egyed
ASE3
2015 The ReMinds Tool Suite for Runtime Monitoring of Systems of Systems
abstract
The behavior of systems of systems (SoS) emerges only fully during operation and is hard to predict. SoS thus need to be monitored at runtime to detect deviations from important requirements. However, existing approaches for checking runtime behavior and performance characteristics are limited with respect to the kinds of checks and the types of technologies supported, which impedes their use in industrial SoS. In this tool demonstration paper we describe the ReMinds tool suite for runtime monitoring of SoS developed in response to industrial monitoring scenarios. ReMinds provides comprehensive tool support for instrumenting systems, extracting events and data at runtime, defining constraints to check expected behavior and properties, and visualizing constraint violations to facilitate diagnosis.
Michael Vierhauser, Rick Rabiser, Paul Grünbacher, Jürgen Thanhofer-Pilisch
ASE3
2015 Feature modeling of two large-scale industrial software systems: Experiences and lessons learned
abstract
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 many models are needed for diverse purposes. For instance, feature models can be used to reflect the perspectives of product management, technical solution architecture, or product configuration. Furthermore, models are required at different levels of granularity. Although numerous approaches and tools are available, it remains hard to define the purpose, scope, and granularity of feature models. In this paper we thus present experiences of developing feature models for two large-scale industrial automation software systems. Specifically, we extended an existing feature modeling tool to support models for different purposes and at multiple levels. We report results on the characteristics and modularity of the feature models, including metrics about model dependencies. We further discuss lessons learned during the modeling process.
Daniela Rabiser, Klaus Eder, Paul Grünbacher, Herbert Prähofer
MoDELS3
2015 A requirements monitoring model for systems of systems
abstract
Many software systems today can be characterized as systems of systems (SoS) comprising interrelated and heterogeneous systems developed by diverse teams over many years. Due to their scale, complexity, and heterogeneity engineers face significant challenges when determining the compliance of SoS with their requirements. Requirements monitoring approaches are a viable solution for checking system properties at runtime. However, existing approaches do not adequately consider the characteristics of SoS: different types of requirements exist at different levels and across different systems; requirements are maintained by different stakeholders; and systems are implemented using diverse technologies. This paper describes a three-dimensional requirements monitoring model (RMM) for SoS providing the following contributions: (i) our approach allows modeling the monitoring scopes of requirements with respect to the SoS architecture; (ii) it employs event models to abstract from different technologies and systems to be monitored; and (iii) it supports instantiating the RMM at runtime depending on the actual SoS configuration. To evaluate the feasibility of our approach we created a RMM for a real-world SoS from the automation software domain. We evaluated the model by instantiating it using an existing monitoring framework and a simulator running parts of this SoS. The results indicate that the model is sufficiently expressive to support monitoring SoS requirements of a directed SoS. It further facilitates diagnosis by discovering violations of requirements across different levels and systems in realistic monitoring scenarios.
Michael Vierhauser, Rick Rabiser, Paul Grünbacher, Benedikt Aumayr
RE3
2015 What is a feature?: a qualitative study of features in industrial software product lines
abstract
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 using features in all engineering phases, is core to the immediate and long-term success of such a system. Yet, although more than ten different definitions of the term feature exist, it is still a very abstract concept. Definitions lack concrete guidelines on how to use the notion of features in practice.
Thorsten Berger, Daniela Rabiser, Julia Rubin, Paul Grünbacher, Adeline Silva Schäfer, Martin Becker 0002, Marsha Chechik, Krzysztof Czarnecki 0001
SPLC4
2015 Evolution in dynamic software product lines: challenges and perspectives
abstract
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) principles to manage their variability and to support their reconfiguration. Specifically, Dynamic Software Product Lines (dspl) have been proposed to support the management and binding of variability at runtime. While spl evolution has been widely studied, it has so far not been investigated in detail in a dspl context. Variability models that are used in a dspl have to co-evolve and be kept consistent with the systems they represent to support reconfiguration even after changes to the systems at runtime. In this short paper we present a classification of the required operations for jointly evolving problem and solution space in a dspl. We analyze the impact of such operations on the consistency of a dspl and propose an approach to deal with the described issues. We describe a runtime monitoring system used in the domain of industrial automation software as an example of a dspl evolving at runtime to motivate and explain our work.
Clément Quinton, Rick Rabiser, Michael Vierhauser, Paul Grünbacher, Luciano Baresi
SPLC4
2015 Supporting distributed product configuration by integrating heterogeneous variability modeling approaches
José A. Galindo, Deepak Dhungana, Rick Rabiser, David Benavides 0001, Goetz Botterweck, Paul Grünbacher
Inf. Softw. Technol.6
2014 Recovering Feature-to-Code Mappings in Mixed-Variability Software Systems
abstract
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 and updated automatically. However, current approaches have limitations regarding the analysis of highly-configurable systems that rely on different variability mechanisms. We present a novel approach that exploits the synergies between program analysis and doffing techniques to reveal feature-to-code mappings for highly-configurable systems. We demonstrate the feasibility of our approach with a set of products from a real-world product line in the domain of industrial automation.
Lukas Linsbauer, Florian Angerer, Paul Grünbacher, Daniela Rabiser, Herbert Prähofer, Roberto Erick Lopez-Herrejon, Alexander Egyed
ICSME3
2014 A case study on software ecosystem characteristics in industrial automation software
abstract
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 improve development processes. In particular, when defining software processes understanding the roles of the participants in the SECO is crucial. This paper thus reports results of an exploratory case study in the industrial automation domain. We explore two research questions on SECO characteristics and discuss research issues we derived from our analyses. While our study confirms key SECO characteristics reported in the literature we also identify additional properties relevant for development processes in the domain of industrial automation.
Daniela Rabiser, Florian Angerer, Herbert Prähofer, Paul Grünbacher
ICSSP4
2014 Supporting Multiplicity and Hierarchy in Model-Based Configuration: Experiences and Lessons Learned
Rick Rabiser, Michael Vierhauser, Paul Grünbacher, Deepak Dhungana, Herwig Schreiner, Martin Lehofer
MoDELS3
2014 A Requirements Monitoring Infrastructure for Very-Large-Scale Software Systems
Michael Vierhauser, Rick Rabiser, Paul Grünbacher
REFSQ3
2014 Identifying inactive code in product lines with configuration-aware system dependence graphs
abstract
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 code to adjust the product. However, given that such changes are often necessary in the entire code base it is hard to know which part of the code is still relevant for the chosen configuration options. This means that engineers need to understand and maintain a lot of code that is potentially inactive in a particular product variant. Existing approaches provide only partial solutions: for instance, feature-to-code mappings do not adequately consider complex code dependencies of the implemented features. Static analysis techniques provide better results but usually do not consider variability aspects. We present an approach to automatically identify inactive code in product variants using a configuration-aware code analysis technique. We demonstrate the flexibility of our approach by customizing it to a product line of an industry partner in the domain of industrial automation. We further evaluate the approach to demonstrate its effectiveness, accuracy, and performance.
Florian Angerer, Herbert Prähofer, Daniela Rabiser, Andreas Grimmer, Paul Grünbacher
SPLC5
2014 A Flexible Framework for Runtime Monitoring of System-of-Systems Architectures
abstract
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 due to complex interactions between the involved systems and their environment. Monitoring the behavior of SoS at runtime is thus essential during development and evolution. However, existing monitoring approaches are often limited to particular architectural styles or technologies and are thus hard to apply in SoS architectures. In this paper we first analyze the challenges for monitoring SoS based on an industrial SoS for the automation of metallurgical plants. We then propose a flexible framework for monitoring heterogeneous systems within a SoS. We demonstrate its feasibility by applying it to two systems of an industrial SoS. We also report results of an evaluation assessing the framework's performance and scalability.
Michael Vierhauser, Rick Rabiser, Paul Grünbacher, Christian Danner, Helmut Zeisel
WICSA3
2013 Constraint Checking in Distributed Product Configuration of Multi Product Lines
abstract
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 configuration of these individual systems, their individual configuration choices may conflict with each other or violate constraints. This paper illustrates industrial challenges based on a previously conducted case study on distributed configuration in multi product lines. We then present CoDiM, a tool-supported approach for defining and checking constraints in distributed configuration of an SoS. Our approach is integrated in the product line tool suite DOPLER developed in cooperation with industry partners. An application scenario from a real-world multi product line demonstrates how our approach allows detecting violations of constraints during distributed configuration of an SoS. The approach provides immediate feedback to configurers during product derivation and enables the dynamic definition of constraints even during configuration time to accommodate changes. CoDiM further supports constraint templates which can be parameterized to allow their reuse in different multi product line configurations.
Gerald Holl, Paul Grünbacher, Christoph Elsner, Thomas Klambauer, Michael Vierhauser
APSEC (1)2
2013 RE 2013 doctoral symposium
abstract
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.
Ana Moreira 0001, Paul Grünbacher
RE2
2013 Monitoring System-of-Systems Requirements in Multi Product Lines
Thomas Klambauer, Gerald Holl, Paul Grünbacher
REFSQ3
2012 Supporting Awareness during Collaborative and Distributed Configuration of Multi Product Lines
abstract
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 involved product lines in a collaborative and distributed manner. It is challenging to ensure awareness regarding the configuration choices of users configuring related product lines in such a setting. We present a tool-supported approach that aims at increasing awareness by discovering dependencies and sharing configuration information during the collaborative and distributed product derivation of a multi product line. Our approach uses a bulletin board mechanism for sharing configuration information. It further implements a request-publish-subscribe mechanism for revealing possible dependencies and presenting the information relevant to the users' specific configuration tasks. We evaluated the usability and utility of our approach in a two-phase study involving twelve industrial experts. The evaluation demonstrates the usability and utility of our approach to foster awareness regarding configuration dependencies during the distributed product derivation of a multi product line.
Gerald Holl, Paul Grünbacher, Christoph Elsner, Thomas Klambauer
APSEC2
2012 A qualitative study on user guidance capabilities in product configuration tools
abstract
Software systems are nowadays often configured by sales people, domain experts, or even customers instead of engineers. Configuration tools communicate the systems' variability to these end users and provide guidance for selecting and customizing the available features. However, even if a configuration tool creates technically correct systems, addressing the specific needs of business-oriented users remains challenging. We analyze existing configuration tools to identify key capabilities for guiding end users and discuss these capabilities using the cognitive dimensions of notations framework. We present an implementation of the capabilities in our configuration tool DOPLER CW. We performed a qualitative investigation on the usefulness of the tool's capabilities for user guidance in product configuration by involving nine business-oriented experts of two industry partners from the domain of industrial automation. We present key results and derive general implications for tool developers.
Rick Rabiser, Paul Grünbacher, Martin Lehofer
ASE2
2012 Applying a Consistency Checking Framework for Heterogeneous Models and Artifacts in Industrial Product Lines
Michael Vierhauser, Paul Grünbacher, Wolfgang Heider, Gerald Holl, Daniela Rabiser
MoDELS2
2012 The quest for Ubiquity: A roadmap for software and systems traceability research
abstract
Traceability underlies many important software and systems engineering activities, such as change impact analysis and regression testing. Despite important research advances, as in the automated creation and maintenance of trace links, traceability implementation and use is still not pervasive in industry. A community of traceability researchers and practitioners has been collaborating to understand the hurdles to making traceability ubiquitous. Over a series of years, workshops have been held to elicit and enhance research challenges and related tasks to address these shortcomings. A continuing discussion of the community has resulted in the research roadmap of this paper. We present a brief view of the state of the art in traceability, the grand challenge for traceability and future directions for the field.
Olly Gotel, Jane Cleland-Huang, Jane Huffman Hayes, Andrea Zisman, Alexander Egyed, Paul Grünbacher, Giuliano Antoniol
RE6
2012 Using regression testing to analyze the impact of changes to variability models on products
abstract
Industrial product lines are typically maintained for a long time and evolve continuously to address changing requirements and new technologies. Already derived products often have to be re-derived after such changes to benefit from new and updated features. Product line engineers thus frequently need to analyze the impact of changes to variability models to prevent unexpected changes of re-derived products. In this paper we present a tool-supported approach that informs engineers about the impacts of variability model changes on existing products. Regression tests are used to determine whether existing product configurations and generated product outputs can be re-derived without unexpected effects. We evaluate the feasibility of the approach based on changes observed in a real-world software product line. More specifically, we show how our approach helps engineers performing specific evolution tasks to analyze the change impacts on existing products. We also evaluate the performance and scalability of our approach. Our results show that variability change impact analyses can be automated using model regression testing and can help reducing the gap between domain engineering and application engineering.
Wolfgang Heider, Rick Rabiser, Paul Grünbacher, Daniela Rabiser
SPLC (1)3
2012 Supporting end users with business calculations in product configuration
abstract
Business calculations like break-even, return on investment, or cost are essential in many domains to support decision making while configuring products. For instance, customers and sales people need to estimate and compare the business value of different product variants. Some product line approaches provide initial support, e.g., by defining quality attributes in relation to features. However, an approach that allows domain engineers to easily define business calculations together with variability models is still lacking. In product configuration, calculation results need to be instantly presented to end users after making configuration choices. Further, due to the often high number of calculations, the presentation of calculation results to end users can be challenging. These challenges cannot be addressed by integrating off-the-shelf applications performing the calculations with product line tools. We thus present an approach based on dedicated calculation models that are related to variability models. Our approach seamlessly integrates business calculations with product configuration and provides support for formatting calculations and calculation results. We use the DOPLER tool suite to deploy calculations together with variability models to end users in product configuration. We evaluate the expressiveness and practical relevance of the approach by investigating the development of business calculations for 15 product lines from the domain of industrial automation.
Daniela Rabiser, Michael Vierhauser, Rick Rabiser, Paul Grünbacher
SPLC (1)4
2012 A systematic review and an expert survey on capabilities supporting multi product lines
Gerald Holl, Paul Grünbacher, Rick Rabiser
Inf. Softw. Technol.2
2012 Facilitating the evolution of products in product line engineering by capturing and replaying configuration decisions
Wolfgang Heider, Rick Rabiser, Paul Grünbacher
Int. J. Softw. Tools Technol. Transf.3
2011 Reconciling requirements and architectures with the CBSP approach in an iPhone app project
abstract
There are only few methods available that help refining software requirements to software architectures. An example is the CBSP (Component-Bus-System-Property) approach that uses general architectural concerns to classify and refine requirements and to capture architectural trade-off issues and options. This paper reports about experiences of applying CBSP in an industrial project in the area of mobile applications. We illustrate CBSP using project examples. We discuss how the approach was tailored and present extensions we developed. In particular, we show how CBSP can be used together with the Goal-Question-Metric approach to guide architectural decisions. We close our paper with a discussion of lessons learned during this project.
Harald Vogl, Klaus Lehner, Paul Grünbacher, Alexander Egyed
RE3
2011 Configuration of Multi Product Lines by Bridging Heterogeneous Variability Modeling Approaches
abstract
In industrial settings, products are rarely developed by one organization alone. Software vendors and suppliers typically maintain their own product lines, which can contribute to a larger (multi) product line. The teams involved often use different approaches and tools to manage the variability of their systems. It is unrealistic to assume that all participating units can use a standardized and prescribed variability modeling technique. The configuration of products based on several models in different notations and with different semantics is not well supported by existing approaches. In this paper we present an integrative approach that provides a unified perspective to users configuring products in multi product line environments, regardless of the different modeling methods and tools used internally. We also present a technical infrastructure and a prototypic implementation based on Web Services. We show the feasibility of the approach and its implementation by using it with two different variability modeling approaches (one feature-based and one decision-oriented approach) on an example derived from industrial experience.
Deepak Dhungana, Dominik Seichter, Goetz Botterweck, Rick Rabiser, Paul Grünbacher, David Benavides 0001, José A. Galindo
SPLC5
2011 A Deployment Infrastructure for Product Line Models and Tools
abstract
Industrial experiences show that support for sharing and deploying product line models and tools is essential when institutionalizing product line engineering. This paper presents key workflows together with an infrastructure providing support for this purpose. Our approach supports distributed users sharing work products during variability modeling, product derivation, and product line evolution. The approach is based on product line bundles (PLiBs) for packaging models and tool support for specific product lines. Using three industrial scenarios and an industrial product line example we demonstrate how our infrastructure supports the deployment of models and tools in practical settings.
Michael Vierhauser, Gerald Holl, Rick Rabiser, Paul Grünbacher, Martin Lehofer, Uwe Stürmer
SPLC4
2011 The DOPLER meta-tool for decision-oriented variability modeling: a multiple case study
Deepak Dhungana, Paul Grünbacher, Rick Rabiser
Autom. Softw. Eng.2
2010 Flexible and scalable consistency checking on product line variability models
abstract
The complexity of product line variability models makes it hard to maintain their consistency over time regardless of the modeling approach used. Engineers thus need support for detecting and resolving inconsistencies. We describe experiences of applying a tool-supported approach for incremental consistency checking on variability models. Our approach significantly improves the overall performance and scalability compared to batch-oriented techniques and allows providing immediate feedback to modelers. It is extensible as new consistency constraints can easily be added. Furthermore, the approach is flexible as it is not limited to variability models and it also checks the consistency of the models with the underlying code base of the product line. We report the results of a thorough evaluation based on real-world product line models and discuss lessons learned.
Michael Vierhauser, Paul Grünbacher, Alexander Egyed, Rick Rabiser, Wolfgang Heider
ASE2
2010 Effort and Quality of Recovering Requirements-to-Code Traces: Two Exploratory Experiments
abstract
Trace links between requirements and code are essential for many software development and maintenance activities. Despite significant advances in traceability research, creating links remains a human-intensive activity and surprisingly little is known about how humans perform basic tracing tasks. We investigate fundamental research questions regarding the effort and quality of recovering traces between requirements and code. Our paper presents two exploratory experiments conducted with 100 subjects who recovered trace links for two open source software systems in a controlled environment. In the first experiment, subjects recovered trace links between the two systems' requirements and classes of the implementation. In the second experiment, trace links were established between requirements and individual methods of the implementation. In order to assess the validity of the trace links cast by subjects, key developers of the two software systems participated in our research and provided benchmarks. Our study yields surprising observations: trace capture is surprisingly fast and can be done within minutes even for larger classes; the quality of the captured trace links, while good, does not improve with higher trace effort; and it is not harder though slightly more expensive to recover the trace links for larger, more complex classes.
Alexander Egyed, Florian Graf, Paul Grünbacher
RE3
2010 Using Contextual Information to Guide on-site Analysts
abstract
Eliciting requirements on-site is challenging as analysts have to simultaneously observe the environment, interact with people and operate RE tools. We have been exploring the use of context-aware technologies to provide better guidance and support for on-site analysts. Our context-aware Mobile Scenario Presenter tool guides analysts by automatically highlighting scenario events relevant to the currently observed work task.
Norbert Seyff, Florian Graf, Paul Grünbacher
RE3
2010 A Flexible Approach for Generating Product-Specific Documents in Product Lines
Rick Rabiser, Wolfgang Heider, Christoph Elsner, Martin Lehofer, Paul Grünbacher, Christa Schwanninger
SPLC5
2010 Simulating evolution in model-based product line engineering
Wolfgang Heider, Roman Froschauer, Paul Grünbacher, Rick Rabiser, Deepak Dhungana
Inf. Softw. Technol.3
2010 Requirements for product derivation support: Results from a systematic literature review and an expert survey
Rick Rabiser, Paul Grünbacher, Deepak Dhungana
Inf. Softw. Technol.2
2010 Structuring the modeling space and supporting evolution in software product line engineering
Deepak Dhungana, Paul Grünbacher, Rick Rabiser, Thomas Neumayer
J. Syst. Softw.2
2009 Development and adaptation of IEC 61499 automation and control applications with runtime variability models
abstract
Developers maintaining distributed control systems are facing significant problems when dealing with changing customer requirements during the development and operation of industrial production facilities. Research has so far largely focused on implementation-level engineering challenges. Model-driven approaches are seen as promising for dealing with the increasing complexity of adapting distributed control systems. We present an approach for capturing architectural variability of distributed IEC 61499 automation and control systems based on product line variability models. Our automated approach supports decision-driven derivation and adaptation of systems at runtime.
Roman Froschauer, Alois Zoitl, Paul Grünbacher
INDIN3
2009 Model-Based Customization and Deployment of Eclipse-Based Tools: Industrial Experiences
abstract
Developers of software engineering tools are facing high expectations regarding capabilities and usability. Users expect tools tailored to their specific needs and integrated in their working environment. This increases tools' complexity and complicates their customization and deployment despite available mechanisms for adaptability and extensibility. A main challenge lies in understanding and managing the dependencies between different technical mechanisms for realizing tool variability. We report on industrial experiences of applying a model-based and tool-supported product line approach for the customization and deployment of two Eclipse-based tools. We illustrate challenges of customizing these tools to different development contexts: In the first case study we developed variability models of a product line tool suite used by an industry partner and utilized these models for tool customization and deployment. In the second case study we applied the same approach to a maintenance and setup tool of our industry partner. Our experiences suggest to design software tools as product lines; to formally describe the tools' variability in models; and to provide end-user capabilities for customizing and deploying the tools.
Paul Grünbacher, Rick Rabiser, Deepak Dhungana, Martin Lehofer
ASE1
2009 Scenarios in the Wild: Experiences with a Contextual Requirements Discovery Method
Norbert Seyff, Florian Graf, Neil A. M. Maiden, Paul Grünbacher
REFSQ4
2009 Exploring how to use scenarios to discover requirements
Norbert Seyff, Neil A. M. Maiden, Inger Kristine Karlsen, James Lockerbie, Paul Grünbacher, Florian Graf, Cornelius Ncube
Requir. Eng.5
2008 Product Line Tools are Product Lines Too: Lessons Learned from Developing a Tool Suite
abstract
Tool developers are facing high expectations regarding the capabilities and usability of software engineering tools. Users expect tools which are tailored to their specific needs and integrated in their environment. This increases the complexity of tools and makes their customization more difficult, although numerous mechanisms supporting adaptability and extensibility are available. In this experience paper we report on the lessons we have learned when developing a tool suite for product line engineering. Our experiences suggest that software engineering tools should be designed as product lines.
Paul Grünbacher, Rick Rabiser, Deepak Dhungana
ASE1
2008 Negotiation Constellations - Method Selection Framework for Requirements Negotiation
Samuel Fricker, Paul Grünbacher
REFSQ2
2008 Mobile Discovery of Requirements for Context-Aware Systems
Norbert Seyff, Florian Graf, Paul Grünbacher, Neil A. M. Maiden
REFSQ3
2008 Supporting Evolution in Model-Based Product Line Engineering
abstract
Software maintenance and evolution are among the most challenging and cost-intensive activities in software engineering. This is not different for software product lines due to their complexity and long life-span. New customer requirements, technology changes and internal enhancements lead to the continuous evolution of a product line's reusable assets. Due to the size of product lines, single stakeholders or teams can only maintain a small part of a system which poses additional challenges for evolution. This paper presents an approach supporting product line evolution by organizing variability models of large-scale product lines as a set of interrelated model fragments defining the variability of particular parts of the system. The approach allows semi-automatic merging of fragments into complete variability models. We also provide tool support to automatically detect changes that would make models and the architecture inconsistent. Furthermore, our approach supports the co-evolution of variability models and their respective meta-models. We illustrate the approach with examples from an ongoing industry collaboration.
Deepak Dhungana, Thomas Neumayer, Paul Grünbacher, Rick Rabiser
SPLC3
2008 The Second International Workshop on Management and Economics of Software Product Lines (MESPUL08)
abstract
Software Product Line Engineering is intimately connected with the need for optimizing the economic situation of an organization. The MESPUL workshop provides a forum for the exchange of practitioners and researchers on the economic dimension of software product lines like measurement, planning, or optimization of reuse potential.
Klaus Schmid, Muhammad Ali Babar 0001, Paul Grünbacher, Makoto Nonaka
SPLC3
2008 Supporting the Evolution of Product Line Architectures with Variability Model Fragments
abstract
Evolution is a permanent challenge in product line engineering. Reusable assets such as software components or documents evolve continuously due to new customer requirements or technology changes. This leads to modifications or extensions of the product line's variability models describing the reference architecture. Due to the large size of product lines, single stakeholders or teams can only maintain a small part of a system which poses additional challenges for evolution. This paper presents a tool-supported approach for building and maintaining variability models of large-scale product lines. We structure variability models into multiple model fragments of manageable size that can be created and maintained by individual teams. Model fragments can be merged semi- automatically into a variability model. We illustrate the approach with examples from ongoing industry collaboration.
Deepak Dhungana, Thomas Neumayer, Paul Grünbacher, Rick Rabiser
WICSA3
2008 Editorial
Paul Grünbacher, Ivica Crnkovic, Paul Müller 0001
J. Syst. Archit.1
2008 Agile product line planning: A collaborative approach and a case study
Muhammad Asim Noor, Rick Rabiser, Paul Grünbacher
J. Syst. Softw.3
2007 Integrated tool support for software product line engineering
abstract
Product line engineering comprises many heterogeneous activities such as capturing the variability of reusable assets, supporting the derivation of products from the product line, evolving the product line, or tailoring the approach to the specifics of a domain. The inherent complexity of product lines implicates that tool support is inevitable to facilitate smooth performance and to avoid costly errors. Product line engineering tools have to support heterogeneous stakeholders involved in diverse activities. Tool integration therefore is of particular importance to foster their seamless cooperation. However, the integration is difficult to achieve due to the diversity of models and work products. This paper describes the DOPLER tool suite which has been developed to provide such integrated support. The tool suite is flexible and extensible to support domain-specific needs
Deepak Dhungana, Rick Rabiser, Paul Grünbacher, Thomas Neumayer
ASE3
2007 Requirements Modelling for Multi-Stakeholder Distributed Systems: Challenges and Techniques
Xavier Franch, Roger Clotet, Paul Grünbacher, Michael Quintus, Lidia López 0001, Jordi Marco, Norbert Seyff
RCIS3
2007 Value-Based Requirements Traceability: Lessons Learned
abstract
Software development standards demand requirements traceability without being explicit about the appropriate level of quality of trace links. Unfortunately, long-term trace utilizations are typically unknown at the time of trace acquisition which represents a dilemma for many companies. This paper suggests ways to balance the cost and benefits of requirements traceability. We present data from 3 case studies. Lessons learned suggest a traceability strategy that (1) provides trace links more quickly, (2) refines trace links according to user-definable value considerations, and (3) supports the later refinement of trace links in case the initial value considerations change.
Alexander Egyed, Paul Grünbacher, Matthias Heindl, Stefan Biffl
RE2
2007 Exploring Scenario Forms and Ways of Use to Discover Requirements on Airports that Minimize Environmental Impact
abstract
This scientific evaluation paper investigates the effectiveness of different scenario forms and uses on requirements discovery. Lt reports results from the application of scenario tools during the specification of requirements on socio-technical systems to improve the environmental impact of aircraft operations at a regional UK airport. Stakeholders walked through scenarios in both text and visual simulation form, and discovered requirements during workshops and whilst observing actors in their workplace. Results revealed both qualitative and quantitative differences in discovered requirements that have potential implications for models of scenario-based requirements discovery and the design of scenario tools.
Neil A. M. Maiden, Cornelius Ncube, Simin Kamali, Norbert Seyff, Paul Grünbacher
RE5
2007 Involving Non-Technicians in Product Derivation and Requirements Engineering: A Tool Suite for Product Line Engineering
abstract
Deriving a product from a product line requires the involvement and cooperation of heterogeneous stakeholders such as customers, sales people, or engineers. Taking their different roles and needs into account is essential to exploit the possible benefits of product lines. In this paper we present the tool-supported product line engineering approach DOPLER. We demonstrate how the approach supports both non- technicians and engineers in product derivation and requirements engineering through a set of integrated tools.
Rick Rabiser, Deepak Dhungana, Paul Grünbacher, Klaus Lehner, Christian Federspiel
RE3
2007 The Mobile Scenario Presenter: A Tool for in situ Requirements Discovery with Scenarios
abstract
Scenarios are widely and successfully used to discover requirements for software-intensive systems. Recent advances in mobile computing technologies mean that mobile tools can support scenario-based techniques in the workplace, with potential benefits to requirements processes. To explore this idea we have been developing the Mobile Scenario Presenter (MSP) tool and used it successfully in a number of evaluation studies and projects. The MSP supports analysts working in the field to better understand the work context of a future system 's end users. The interactive tool demo allows RE experts to actively use the MSP to explore its capabilities and benefits.
Norbert Seyff, Florian Graf, Paul Grünbacher, Neil A. M. Maiden
RE3
2007 Supporting Product Derivation by Adapting and Augmenting Variability Models
abstract
Product derivation is the process of constructing products from the core assets in a product line. Guidance and support are needed to increase efficiency and to deal with the complexity of product derivation. Research has, however, devoted comparatively little attention to this process. In this paper we describe an approach for supporting product derivation. We show that variability models need to be prepared for concrete projects before they can be effectively utilized in the derivation process. Project-specific information and sales knowledge should be added and irrelevant variability should be pruned. We also present tool support and illustrate the approach using examples from ongoing research collaboration.
Rick Rabiser, Paul Grünbacher, Deepak Dhungana
SPLC2
2007 Decision-Oriented Modeling of Product Line Architectures
abstract
Understanding and modeling architectural variability is fundamental in product line engineering. Various extensions have been proposed to architecture description languages (ADLs) to deal with variability. Although these extensions are useful, we argue in this paper that decisions need to be treated as first-class citizens for modeling architectural variability. Decisions that have to be taken by different stakeholders during product derivation are an essential source to understand the variability at different levels (e.g., features, architecture, and implementation). We outline a decision-oriented approach to variability modeling and illustrate it with an example from our ongoing research collaboration with Siemens VAI.
Deepak Dhungana, Rick Rabiser, Paul Grünbacher
WICSA3
2007 Making every student a winner: The WinWin approach in software engineering education
Paul Grünbacher, Norbert Seyff, Robert O. Briggs, Hoh Peter In, Hasan Kitapci, Daniel Port
J. Syst. Softw.1
2006 Making Every Student a Winner: The WinWin Approach in Software Engineering Education
abstract
In this paper we show how Theory-W and the WinWin requirements negotiation approach have influenced software engineering education in a number of institutions worldwide. After a short summary of Theory-W and the WinWin negotiation model, processes, and tools the paper discusses how students can benefit from WinWin in their software engineering education. We explore different options for teaching the approach and present concrete examples and experiences from different universities
Paul Grünbacher, Norbert Seyff, Robert O. Briggs, Hoh Peter In, Hasan Kitapci, Daniel Port
CSEE&T1
2006 Automating Software Traceability in Very Small Companies: A Case Study and Lessons Learne
abstract
There is a wide consensus on the benefits of software traceability. However, traceability techniques are still not commonly used in industry $typically only in larger companies and if mandated by standards such as the CMMI or ISO 15504. Success stories in small companies are quite rare. However, small companies represent a significant share of the IT industry and a better understanding of their needs is essential for the research community. This paper presents APIS, a traceability environment we developed and introduced in a very small software company. We discuss the traceability approach and report on key lessons learned. We have found in the project that comparably simple automation techniques are surprisingly effective. We believe that the lessons learned in this project are relevant for researchers and practitioners facing similar challenges
Christian Neumuller, Paul Grünbacher
ASE2
2006 Making Mobile Requirements Engineering Tools Usable and Useful
abstract
Recent advances in mobile computing technologies mean that mobile tools have the potential to support scenario-based techniques in the workplace, with potential benefits to requirements processes. However, mobile requirements engineering (RE) tools are a new idea, and little is known about their advantages and weaknesses. This paper reports empirical research to explore the use of mobile RE tools in practice. It describes a mobile scenario tool that we developed to discover requirements directly in the user's work context. It also describes the results from 3 evaluation studies that demonstrate that these tools can support workplace requirements discovery and documentation, although mobile RE tools pose new challenges that remain to be overcome
Neil A. M. Maiden, Norbert Seyff, Paul Grünbacher, Omo Otojare, Karl Mitteregger
RE3
2006 A family of experiments to investigate the effects of groupware for software inspection
Stefan Biffl, Paul Grünbacher, Michael Halling
Autom. Softw. Eng.2
2005 Determining the cost-quality trade-off for automated software traceability
abstract
Major software development standards mandate the establishment of trace links among software artifacts such as requirements, architectural elements, or source code without explicitly stating the required level of detail of these links. However, the level of detail vastly affects the cost and quality of trace link generation and important applications of trace analysis such as conflict analysis, consistency checking, or change impact analysis. In this paper, we explore these cost-quality trade-offs with three case study systems from different contexts - the open-source ArgoUML modeling tool, an industrial route-planning system, and a movie player. We report the cost-quality trade-off of automated trace generation with the Trace Analyzer approach and discuss its expected impact onto several applications that consume its trace information. In the study we explore simple techniques to predict and manipulate the cost-benefit trade-off with threshold-based filtering. We found that (a) 80% of the benefit comes from only 20% of the cost and (b) weak trace links are predominantly false trace links and can be efficiently eliminated through thresholds.
Alexander Egyed, Stefan Biffl, Matthias Heindl, Paul Grünbacher
ASE4
2005 Supporting Software Understanding with Automated Requirements Traceability
abstract
Requirements traceability (RT) aims at defining and utilizing relationships between stakeholder requirements and artifacts produced during the software development life-cycle and provides an important means to foster software understanding. Although techniques for generating and validating traceability information are available, RT in practice often suffers from the enormous effort and complexity of creating and maintaining traces. This results in invalid or incomplete trace information which cannot support engineers in real-world problems. In this paper we present a tool-supported approach that requires the designer to specify some trace dependencies but eases trace acquisition by generating others automatically. We illustrate the approach using a video-on-demand system and show how the generated traces can be used in various engineering scenarios to improve software understanding. In a case study using an open source software application we demonstrate that the approach is capable of dealing with large-scale systems and delivers valid results.
Alexander Egyed, Paul Grünbacher
Int. J. Softw. Eng. Knowl. Eng.2
2004 Requirements Engineering Tools Go Mobile
abstract
Software tools that support or automate software engineering tasks are typically available on traditional desktop-based workstations. In contrast, mobile tools for requirements engineers offer considerable potential. In the last few years the capabilities of mobile devices such as personal digital assistants (PDAs) have advanced considerably. These devices now provide faster processing, increased storage, and improved connectivity. Hence, mobile computing will become a dominant computing paradigm. These developments let us envision mobile tools for RE that are sophisticated enough to be used in real-world projects.
Norbert Seyff, Paul Grünbacher, Neil A. M. Maiden, Amit Tosar
ICSE2
2004 Reconciling software requirements and architectures with intermediate models
Paul Grünbacher, Alexander Egyed, Nenad Medvidovic
Softw. Syst. Model.1
2003 An Empirical Study on Groupware Support for Software Inspection Meetings
abstract
Software inspection is an effective way to assess product quality and to reduce the number of defects. In a software inspection, the inspection meeting is a key activity to agree on collated defects, to eliminate false positives, and to disseminate knowledge among the team members. However, inspection meetings often require high effort and may lose defects found in earlier inspection steps due to ineffective meeting techniques. Only few tools are available for this task. We have thus been developing a set of groupware tools to lower the effort of inspection meetings and to increase their efficiency. We conducted an experiment in an academic environment with 37 subjects to empirically investigate the effect of groupware tool support for inspection meetings. The main findings of the experiment are that tool support considerably lowered the meeting effort, supported inspectors in identifying false positives, and reduced the number of true defects lost.
Paul Grünbacher, Michael Halling, Stefan Biffl
ASE1
2003 Doctoral Symposium at XP 2003
Paul Grünbacher
XP1
2003 Bridging models across the software lifecycle
Nenad Medvidovic, Paul Grünbacher, Alexander Egyed, Barry W. Boehm
J. Syst. Softw.2
2003 An economic approach for improving requirements negotiation models with inspection
Michael Halling, Stefan Biffl, Paul Grünbacher
Requir. Eng.3
2002 Automating Requirements Traceability: Beyond the Record & Replay Paradigm
abstract
Requirements traceability (RT) aims at defining relationships between stakeholder requirements and artifacts produced during the software development life-cycle. Although techniques for generating and validating RT are available, RT in practice often suffers from the enormous effort and complexity of creating and maintaining traces or from incomplete trace information that cannot assist engineers in real-world problems. In this paper we will present a tool-supported technique easing trace acquisition by generating trace information automatically. We will explain the approach using a video-on-demand system and show that the generated traces can be used in various engineering scenarios to solve RT-related problems.
Alexander Egyed, Paul Grünbacher
ASE2
2001 EasyWinWin: A Groupware-Supported Nethodology for Requirements Negotiation
Barry W. Boehm, Paul Grünbacher, Robert O. Briggs
ICSE2
2001 Tailoring a COTS Group Support System for Software Requirements Inspection
abstract
The inspection of early life-cycle artifacts such as requirement documents promises great benefits. However, research demonstrates that the inspection process is complex and expensive and that tool support would be highly desirable. Existing inspection tools focus largely on the inspection of source code. We have therefore devised groupware support for inspecting requirements. Based on our experience with adopting a group support system (GSS) for requirements negotiation, we decided to tailor this commercial GSS to support inspection of requirements. The paper discusses our concept of a Groupware-supported Requirements Inspection Process (GRIP) and shows that tailoring a COTS GSS works well to automate this process.
Michael Halling, Paul Grünbacher, Stefan Biffl
ASE2
2001 Reconciling Software Requirements and Architectures: The CBSP Approach
abstract
Little guidance and few methods are available to refine a set of software requirements into an architecture satisfying those requirements. Part of the challenge stems from the fact that requirements and architectures leverage different terms and concepts to capture the artifacts relevant to each. We present CBSP (Component-Bus-System- Property), a lightweight approach intended to provide a systematic way of reconciling requirements and architectures. CBSP leverages a simple set of architectural concepts (components, connectors, overall systems, and their properties) to recast the requirements in a way that facilitates their straightforward mapping to architectures. Furthermore, the approach allows us to capture and maintain arbitrarily complex relationships between requirements and architectural artifacts, as well as across different CBSP artifacts. We have extensively applied CBSP within the context of particular requirements and architecture definition techniques, EasyWinWin and C2. We leverage that experience to demonstrate the CBSP method and tool support using a large-scale example that highlights the transition from an EasyWinWin requirements negotiation into a C2-style architectural model.
Paul Grünbacher, Alexander Egyed, Nenad Medvidovic
RE1
2001 Software Model Connectors: Bridging Models across the Software Lifecycle
Nenad Medvidovic, Paul Grünbacher, Alexander Egyed, Barry W. Boehm
SEKE2
2001 EasyWinWin: a groupware-supported methodology for requirements negotiation
abstract
EasyWinWin is a requirements definitions methodology that builds on the win-win negotiation approach and leverages collaborative technology to improve the involvement and interaction of key stakeholders. With EasyWinWin, stakeholders move through a step-by-step win-win negotiation where they collect, elaborate, and prioritize their requirements, and then surface and resolve issues.
Paul Grünbacher, Barry W. Boehm
ESEC / SIGSOFT FSE1
2001 System dynamics modelling and simulation of collaborative requirements engineering
Friedrich Stallinger, Paul Grünbacher
J. Syst. Softw.2