Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Gunter Saake

dblp:s/GunterSaake · DBLP profile ↗
← Back
168ranked-venue papers
3as first author
31since 2021 · last 2026
0000-0001-9576-8474ORCID · verified

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

Databases, data management, data science and information retrieval · 79 · 3 first-author · 16 since 2021Software engineering, systems software and programming languages · 67 · 7 since 2021Artificial intelligence and machine learning · 35 · 1 first-author · 8 since 2021Applied, interdisciplinary, general and emerging computing · 24 · 1 since 2021Systems, architecture and hardware · 5 · 3 since 2021Theory of computation · 4Human-computer interaction and ubiquitous computing · 2Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
18 papers
Requirements engineering and software design · 47% Software maintenance and evolution · 22% Empirical software engineering · 19%
Computer architecture, parallel and distributed computing, and storage systems
5 papers
Memory systems · 72% Hardware accelerators and domain-specific architectures · 18% GPUs and heterogeneous computing · 6%
Databases, data mining, and information retrieval
10 papers
Query processing and optimization · 53% Indexing and storage engines · 27% Database system architecture and tuning · 9%

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

TopicWeightPapersLastEvidence papers
Requirements engineering and software design › software product lines
feature models
1.832026
How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History - RCR Report · ACM Trans. Softw. Eng. Methodol. 2026
Tseitin or not Tseitin? The Impact of CNF Transformations on Feature-Model Analyses · ASE 2022
Feature-model interfaces: the highway to compositional analyses of highly-configurable systems · ICSE 2016
Requirements engineering and software design › software product lines › feature models
feature model analysis
1.622026
How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History · ACM Trans. Softw. Eng. Methodol. 2026
Tseitin or not Tseitin? The Impact of CNF Transformations on Feature-Model Analyses · ASE 2022
Requirements engineering and software design
software product lines
1.552026
How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History · ACM Trans. Softw. Eng. Methodol. 2026
Feature-model interfaces: the highway to compositional analyses of highly-configurable systems · ICSE 2016
Predicting performance via automated feature-interaction detection · ICSE 2012
Empirical software engineering
mining software repositories
1.322026
How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History · ACM Trans. Softw. Eng. Methodol. 2026
How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History - RCR Report · ACM Trans. Softw. Eng. Methodol. 2026
Software maintenance and evolution
program comprehension
1.252020
A Look into Programmers' Heads · IEEE Trans. Software Eng. 2020
Effects of explicit feature traceability on program comprehension · ESEC/SIGSOFT FSE 2019
Understanding understanding source code with functional magnetic resonance imaging · ICSE 2014
Empirical software engineering
developer studies
0.952020
Do you remember this source code? · ICSE 2018
Understanding understanding source code with functional magnetic resonance imaging · ICSE 2014
Toward measuring program comprehension with functional magnetic resonance imaging · SIGSOFT FSE 2012
Memory systems
non-volatile memory
0.912025
NVM in Data Storage: A Post-Optane Future · ACM Trans. Storage 2025
Memory systems › non-volatile memory
persistent memory
0.912025
NVM in Data Storage: A Post-Optane Future · ACM Trans. Storage 2025
Memory systems › non-volatile memory
storage class memory
0.912025
NVM in Data Storage: A Post-Optane Future · ACM Trans. Storage 2025
Indexing and storage engines
in-memory index
0.722019
Efficient Evaluation of Multi-Column Selection Predicates in Main-Memory · IEEE Trans. Knowl. Data Eng. 2019
Accelerating Multi-Column Selection Predicates in Main-Memory - The Elf Approach · ICDE 2017
Query processing and optimization › shared computation
shared filter evaluation
0.722019
Efficient Evaluation of Multi-Column Selection Predicates in Main-Memory · IEEE Trans. Knowl. Data Eng. 2019
Accelerating Multi-Column Selection Predicates in Main-Memory - The Elf Approach · ICDE 2017
Query processing and optimization
query execution
0.712023
ADAMANT: A Query Executor with Plug-In Interfaces for Easy Co-processor Integration · ICDE 2023
Hardware accelerators and domain-specific architectures › database accelerator
query accelerator
0.712023
ADAMANT: A Query Executor with Plug-In Interfaces for Easy Co-processor Integration · ICDE 2023
Software maintenance and evolution › software variability
highly-configurable systems
0.622018
Propagating configuration decisions with modal implication graphs · ICSE 2018
On essential configuration complexity: measuring interactions in highly-configurable systems · ASE 2016
Requirements engineering and software design › software process
software process measurement
0.412020
Establishing key performance indicators for measuring software-development processes at a large organization · ESEC/SIGSOFT FSE 2020
Debugging and program repair › fault localization
bug localization
0.412019
Effects of explicit feature traceability on program comprehension · ESEC/SIGSOFT FSE 2019
Software maintenance and evolution › software variability
configuration options
0.312018
Propagating configuration decisions with modal implication graphs · ICSE 2018
Software maintenance and evolution
software configuration
0.312018
Propagating configuration decisions with modal implication graphs · ICSE 2018
Operating systems › kernel
linux kernel
0.312026
How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History · ACM Trans. Softw. Eng. Methodol. 2026
Data integration and cleaning › heterogeneous data management
heterogeneous database systems
0.312017
Are Databases Fit for Hybrid Workloads on GPUs? A Storage Engine's Perspective · ICDE 2017
Database system architecture and tuning
hybrid transactional and analytical processing
0.312017
Are Databases Fit for Hybrid Workloads on GPUs? A Storage Engine's Perspective · ICDE 2017
Memory systems › memory interconnect
CXL
0.312025
NVM in Data Storage: A Post-Optane Future · ACM Trans. Storage 2025
Memory systems
memory hierarchy
0.312025
NVM in Data Storage: A Post-Optane Future · ACM Trans. Storage 2025
GPUs and heterogeneous computing
heterogeneous query processing
0.212023
ADAMANT: A Query Executor with Plug-In Interfaces for Easy Co-processor Integration · ICDE 2023
Query processing and optimization › parallel query processing
operator placement
0.212014
Ocelot/HyPE: Optimized Data Processing on Heterogeneous Hardware · Proc. VLDB Endow. 2014
Query processing and optimization
query optimization
0.212014
Ocelot/HyPE: Optimized Data Processing on Heterogeneous Hardware · Proc. VLDB Endow. 2014
Automated reasoning and model checking › satisfiability
SAT solving
0.212022
Tseitin or not Tseitin? The Impact of CNF Transformations on Feature-Model Analyses · ASE 2022
Indexing and storage engines › multidimensional indexing
high-dimensional indexing
0.212013
QuEval: Beyond high-dimensional indexing a la carte · Proc. VLDB Endow. 2013
Requirements engineering and software design › software product lines
feature-oriented software development
0.222009
FeatureIDE: A tool framework for feature-oriented software development · ICSE 2009
Aspectual mixin layers: aspects and features in concert · ICSE 2006
Performance modeling and evaluation
benchmarking
0.122018
An Eight-Dimensional Systematic Evaluation of Optimized Search Algorithms on Modern Processors · Proc. VLDB Endow. 2018
QuEval: Beyond high-dimensional indexing a la carte · Proc. VLDB Endow. 2013

Methods — techniques the papers use, named apart from their topics

feature model extraction · 2.0chunked execution model · 1.3OpenMP · 1.3OpenCL · 1.3CUDA · 1.3tseitin transformation · 1.1plaisted-greenbaum transformation · 1.1model counting · 1.1distributive transformation · 1.1empirical study · 1.0technology review · 0.9survey · 0.9functional magnetic resonance imaging · 0.8data compression · 0.7replication study · 0.4practitioner experience report · 0.4case study · 0.4cache-sensitive layout · 0.4
YearPublicationVenuePosition
2026 Evaluation of Subgraph Querying from Databases for Mini-Batch Training of Graph Neural Networks
Daniel Walke, Gunter Saake, Alexander Jarasch, David Broneske, Robert Heyer
DEXA (1)3
2026 How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History
abstract
Today, the operating system Linux is widely used in diverse environments, as its kernel can be configured flexibly. In many configurable systems, managing such variability can be facilitated in all development phases with product-line analyses. These analyses often require knowledge about the system’s features and their dependencies, which are documented in a feature model. Despite their potential, product-line analyses are rarely applied to the Linux kernel in practice, as its feature model still challenges scalability and accuracy of analyses. Unfortunately, these challenges also severely limit our knowledge about two fundamental metrics of the kernel’s configurability, namely its number of features and configurations. We identify four key limitations in the literature related to the scalability, accuracy, and influence factors of these metrics, and, by extension, other product-line analyses: (1) Analysis results for the Linux kernel are not comparable, because relevant information is not reported; (2) there is no consensus on how to define features in Linux, which leads to flawed analysis results; (3) only few versions of the Linux kernel have ever been analyzed, none of which are recent; and (4) the kernel is perceived as complex, although we lack empirical evidence that supports this claim. In this article, we address these limitations with a comprehensive, empirical study of the Linux kernel’s configurability, which spans its feature model’s entire history from 2002 to 2024. We address the above limitations as follows: (1) We characterize parameters that are relevant when reporting analysis results; (2) we propose and evaluate a novel definition of features in Linux as a standardization effort; (3) we contribute torte , a tool that analyzes arbitrary versions of the Linux kernel’s feature model; and (4) we investigate the current and possible future configurability of the kernel on more than 3,000 feature-model versions. Based on our results, we highlight 11 major insights into the Linux kernel’s configurability and make 7 actionable recommendations for researchers and practitioners.
Elias Kuiter, Chico Sundermann, Thomas Thüm, Tobias Heß, Sebastian Krieter, Gunter Saake
ACM Trans. Softw. Eng. Methodol.6
2026 How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History - RCR Report
abstract
This is the RCR report accompanying our TOSEM’25 paper How Configurable Is the Linux Kernel? Analyzing Two Decades of Feature-Model History . In this report, we bundle all data relevant to our paper for the purpose of reproducibility and long-term archival. This includes the feature-model extraction tool torte , as well as a comprehensive feature-model dataset and experimental results.
Elias Kuiter, Chico Sundermann, Thomas Thüm, Tobias Heß, Sebastian Krieter, Gunter Saake
ACM Trans. Softw. Eng. Methodol.6
2025 A Comparative Analysis of Support Techniques for Assessing the Quality of Systematic Literature Reviews
abstract
The rapidly growing number of scientific publications poses numerous challenges for researchers engaged in literature analyses. Structured methodologies like systematic literature reviews are becoming increasingly expensive, considering their attempt to cover all relevant publications. Despite the increasing efforts needed, the importance of literature reviews also leads to an increasing growth in their number. While there are support techniques (e.g., guidelines, tools, checklists) for conducting literature analyses, a concise and clear overview of such techniques for assessing the quality of the analysis itself is missing. Such an overview can help researchers identify techniques for their work, understand ambiguities between them, support peer reviews, and guide future research by highlighting open gaps. In this paper, we address this lack of an overview by identifying existing techniques for assessing the quality of systematic literature reviews, comparing their properties, and discussing their pros and cons. For this purpose, we elicited 14 techniques through a systematic literature search covering 15 years (2007–2021). Overall, our contributions can help researchers identify feasible techniques for assessing the quality of literature analyses and can guide the development of new techniques, thereby facilitating the conduct and improving the quality of literature analyses.
Rand Alchokr, Athul Sunilkumar, Gunter Saake, Thomas Leich, Jacob Krüger
TPDL3
2025 SimKit: Similarity Graphs, Eigendecomposition and Spectral Clustering in Neo4j
abstract
Graph databases like Neo4j are powerful for analysing interconnected data, but performing advanced analyses such as spectral clustering often requires exporting data to external tools, incurring overhead and breaking the in-database workflow. While Neo4j offers various analytical capabilities, a dedicated, comprehensive plug-in for in-database spectral clustering has been a notable gap. To address this, we introduce SimKit1, a Java-based plug-in for Neo4j that enables true in-database spectral clustering by providing a suite of Cypher-callable procedures for end-to-end spectral clustering, including similarity graph construction (fully connected, epsilon-neighbourhood, k-nearest neighbourhood, and mutual k-nearest neighbourhood), Laplacian eigendecomposition of graph Laplacians, subsequent K-Means clustering of the resultant eigenvectors, and evaluation using silhouette coefficient and the Adjusted Rand Index. We evaluated SimKit on a range of feature-based datasets (Iris, Madelon, 20 Newsgroups) and native graph datasets (CORA, PubMed, CiteSeer). The results demonstrate that SimKit facilitates practical, end-to-end clustering workflows entirely within the Neo4j database system, achieving clustering quality comparable to established Python implementations.
Evelina Ignatova, Jonas Heinzmann, Minh Dung Do, Abhivanth Murali, Daniel Walke, Patrick Cato, Robert A. Becker, Thomas Bleistein, Gunter Saake, David Broneske, Robert Heyer
HPCC10
2025 NVM in Data Storage: A Post-Optane Future
abstract
The dynamic evolution of non-volatile memory (NVM) technologies from Read-Only Memory (ROM) to flash memory, and recent innovations in Magnetoresistive RAM (MRAM), Phase Change Memory (PCM), and Resistive RAM (ReRAM) signify a pivotal shift in data storage capabilities and applications. This progression, marked by enhancements in performance and density, fills the gap between Dynamic RAM (DRAM) and flash storage, meeting the demands of data-rich domains such as high-performance computing and databases. The integration of NVM like the formerly commercially available Optane Persistent Memory (PMem) has introduced a paradigm shift in storage system design, addressing challenges related to latency, data proximity, memory constraints, and energy efficiency which are critical in computing. Despite facing hurdles, such as performance asymmetry in Optane PMem, the potential of NVM in data storage systems has been shown with research focusing on speeding up indexing, small data accesses, and cache-less I/O paths. We review existing and emerging NVM technologies based on their physical properties and application in data storage. We underscore the significance of NVM in offering unique access characteristics that address the limitations of traditional storage devices, thereby extending the data storage landscape. We discuss the programming challenges and hardware-software strategies crucial for NVM’s seamless integration and widespread industry adoption. Additionally, we discuss the discontinuation of Optane, the ongoing challenges and the need for storage system designs to adapt to non-block based storage to leverage NVM’s performance benefits. We conclude that while advancements in NVM promise improved performance and endurance, practical availability depends on addressing challenges such as density, heat management, and reliability. Support in the existing software ecosystem is also crucial for its widespread adoption. Furthermore, Compute Express Link (CXL) is highlighted as a significant development that can streamline the memory hierarchy and support the adoption of NVM, enabling more flexible designs and effective usage of storage media in next-generation data storage systems. Overall, CXL offers a promising method to include NVM in future systems. However, in the meantime, data storage systems will rely on NVMe SSDs due to their performance and availability. But, we encourage further research into integrating NVM devices due to data management constraints with conventional block-based data management and advocate for the availability of NVM-ready software to users.
Sajad Karim, Johannes Wünsche, Michael Kuhn 0003, Gunter Saake, David Broneske
ACM Trans. Storage4
2024 Exploring the Advantages and Limitations of Association Rule Mining and Decision Trees for Pattern Mining in Heart Disease Data
Sadeq Darrab, Florian Kleinert, David Broneske, Gunter Saake
ADMA (4)4
2024 Expert Agent Guided Learning with Transformers and Knowledge Graphs
Victor Obionwu, Bhavya Baburaj Chovatta Valappil, Minu Genty, Maria Jomy, Visakh Padmanabhan, Aishwarya Suresh, Sumat Singh Bedi, David Broneske, Gunter Saake
DATA9
2024 Scholarly Quality Measurements: A Systematic Literature Review
Rand Alchokr, Abhishek Gopalrao, Gunter Saake, Thomas Leich, Jacob Krüger
TPDL (1)3
2024 A case study on the development of the German Corona-Warn-App
abstract
The COVID-19 pandemic has drastically changed daily life and required fast responses to new situations, such as restricted public life. A major means to limit infections have been contact-tracing apps that inform an individual about a potential infection, helping to initiate countermeasures faster. While different tracing apps have been compared technologically, we are not aware of studies providing insights into their development processes during the pandemic emergency situation. To address this gap, we report an exploratory case study on how the German open-source Corona-Warn-App has been developed at SAP SE—and how other organizations (e.g., Deutsche Telekom AG), researchers, and individual developers contributed. We elicited data on the process, practices, and challenges by interviewing six developers at SAP SE, analyzing documentation, and discussing our data with an expert on the app’s development. Overall, we provide insights into how the development process of the Corona-Warn-App differed from other projects at SAP SE (e.g., testing), discuss the causes (i.e., public interest causing researchers to perform tests), and study the consequences (i.e., emergency tickets by researchers). Our findings can guide organizations when developing software in similar emergency situations (e.g., pandemics) in which reliable software needs to be developed within a short period of time.
Mohamad Fawaz Enaya, Thomas Klingbeil, Jacob Krüger, David Broneske, Frank Feinbube, Gunter Saake
J. Syst. Softw.6
2023 What Happens When Two Multi-Query Optimization Paradigms Combine? - A Hybrid Shared Sub-Expression (SSE) and Materialized View Reuse (MVR) Study
Bala Gurumurthy, Vasudev Raghavendra Bidarkar, David Broneske, Thilo Pionteck, Gunter Saake
ADBIS5
2023 Investigating Lakehouse-Backbones for Vehicle Sensor Data
Christopher Vox, David Broneske, Jan Piewek, Janusz Feigel, Gunter Saake
DEXA (1)5
2023 Investigating the Relation Between Authors' Academic Age and Their Citations
Rand Alchokr, Sanket Vikas Joshi, Gunter Saake, Thomas Leich, Jacob Krüger
TPDL3
2023 A Flexible and Scalable Reconfigurable FPGA Overlay Architecture for Data-Flow Processing
abstract
We present a flexible and scalable FPGA overlay architecture for data-flow applications. The overlay consists of a 2D grid of tiles consisting of compute units that can be exchanged at runtime. The overlay can deal with unbalanced data-flow graphs and is based on AXI-Stream to facilitate extensibility using IP and High-Level Synthesis. To support compute units that also require random access to the system memory, AXI4-ports can be enabled per tile at design-time. We implement a prototype of the overlay architecture tailored to the application domain of analytical query processing on a Xilinx Alveo U280 board. In this system, an overlay grid of$11\times 4$compute unit tiles occupies one-third of the available resources. with a design I/O throughput of$11\times 3.75\ \text{GB}/\mathrm{s}$. The overlay and HLS-based SIMD compute units provide full-throughput data processing, but are limited by the memory subsystem implemented with vendor IPs.
Anna Drewes, Vitalii Burtsev, Bala Gurumurthy, Martin Wilhelm, David Broneske, Gunter Saake, Thilo Pionteck
FCCM6
2023 ADAMANT: A Query Executor with Plug-In Interfaces for Easy Co-processor Integration
abstract
Today’s processor landscape is increasingly heterogeneous with the availability of co-processors. This landscape impacts query engines, as they need to be reworked to keep competitive performance by leveraging the underlying architectures. Such a rework might be costly if, for each external processor or SDK, peripheral components needed to be developed as well; resulting in redundant effort and adoption difficulties. In this paper, we propose an approach to overcome these shortcomings through ADAMANT – a query executor equipped with interfaces to plug-in new co-processors without reworking other components of a query engine. ADAMANT consists of 1) pluggable interfaces that allow interaction with co-processors, encapsulating operator implementations, and 2) a unified runtime that handles the execution on arbitrary co-processors, with a chunked execution model for scalable query processing. To evaluate ADAMANT’s versatility, we plug different implementations of a CPU/GPU-based system (using OpenCL, OpenMP, & CUDA) and analyze their performance on TPC-H queries. We identify a 4x performance difference between an arbitrary chunked execution vs. a more architecturally conscious pipelined execution. Furthermore, our comparisons with HeavyDB show complex performance variations from speed-ups up to a factor of 2x from our hardware-conscious execution. We envision initiatives like ADAMANT to ease the study of complex optimizations required in co-processor systems, paving the way for efficient and portable data management tools without cutbacks.
Bala Gurumurthy, David Broneske, Gabriel Campero Durand, Thilo Pionteck, Gunter Saake
ICDE5
2023 A Domain Specific Students' Assistance System For The Provision Of Instructional Feedback
abstract
An important strategy for the reduction of academic-related stress during online academic engagements is the integration of conversational agents that deliver real-time instructional feedback. While instructional feedback is either focused on structuring a learner's learning interaction style or providing clues when a learner is experiencing difficulties while engaging with a given task, a major challenge in the development process of conversational agents is the creation of interactions that are nearly indistinguishable from that of a human instructor's feedback. In this work, we take advantage of recent improvements to large language models and information retrieval by using bidirectional encoder representations from transformers to both decode and classify the intent of a message input and give feedback or recommendations that are relevant to the context of the message input. Compared to the baseline, we achieved a precision of 80% and an accuracy of 85%, which justifies our strategy of using the BERT model for our conversational agent for the integration of instructional feedback.
Victor Obionwu, Taruna Tiwari, Bhavya Baburaj Chovatta Valappil, Nishanth Raikar, Damanpreet Singh Walia, S. M. Laique Abbas, Chukwuemeka E. Okafor, David Broneske, Gunter Saake
ICMLA9
2023 Knowledge Distillation for Quantized Vehicle Sensor Data
abstract
Semantic segmentation is a major research field in computer vision with applications in fields such as autonomous driving, medical image analysis and video surveillance. A large share of recent improvements in model performance is a result of increases in model sizes or quality of sensors, while many areas of application require real-time segmentation and small and efficient models. Various studies exist on increasing the performance of small models, but whether small models actually benefit from the full range of available sensor information has been overlooked. In our work we focus on the model compression technique Knowledge Distillation (KD), because it enables us to investigate the effects of decreasing model size and decreasing color-depth simultaneously, while leveraging the knowledge in a large teacher network to improve a small student. With the help of different training frameworks we show that up to a certain level of information reduction, no significant segmentation performance degradation can be seen. Moreover, our experiments indicate that KD applied in a two-stage training strategy is more advantageous compared to the standard procedure. Finally, we show that, with the right KD procedure, training and inference on bit-depth reduced images can result in higher performance than training on original images with a standard cross entropy loss.
Christopher Vox, Onno Niemann, David Broneske, Jan Piewek, Andreas Udo Sass, Gunter Saake
ICMLA6
2023 Data Streams: Investigating Data Structures for Multivariate Asynchronous Time Series Prediction Problems
Christopher Vox, David Broneske, Istiaque Mannafee Shaikat, Gunter Saake
ICPRAM4
2023 Novel insights on atomic synchronization for sort-based group-by on GPUs
abstract
Abstract Using heterogeneous processing devices, like GPUs, to accelerate relational database operations is a well-known strategy. In this context, the operation is highly interesting for two reasons. Firstly, it incurs large processing costs. Secondly, its results (i.e., aggregates) are usually small, reducing data movement costs whose compensation is a major challenge for heterogeneous computing. Generally, for computation on GPUs, one relies either on sorting or hashing. Today, empirical results suggest that hash-based approaches are superior. However, by concept, hashing induces an unpredictable memory access pattern conflicting with the architecture of GPUs. This motivates studying why current sort-based approaches are generally inferior. Our results indicate that current sorting solutions cannot exploit the full parallel power of modern GPUs. Experimentally, we show that the issue arises from the need to synchronize parallel threads that access the shared memory location containing the aggregates via . Our quantification of the optimal performance motivates us to investigate how to minimize the overhead of atomics. This results in different variants using atomics, where the best variants almost mitigate the atomics overhead entirely. The results of a large-scale evaluation reveal that our approach achieves a 3x speed-up over existing sort-based approaches and up to 2x speed-up over hash-based approaches.
Bala Gurumurthy, David Broneske, Martin Schäler, Thilo Pionteck, Gunter Saake
Distributed Parallel Databases5
2023 Out-of-the-box library support for DBMS operations on GPUs
abstract
Abstract GPU accelerated query execution is still ongoing research in the database community, as GPUs continue to be heterogeneous in their architectures varying their capabilities (e.g., their newest selling point: tensor cores). Hence, many researchers come up with optimal operator implementations for a specific device generation involving tedious operator tuning by hand. Alternatively, there is a growing availability of GPU libraries providing optimized operators for various applications. However, the question arises of how mature these libraries are and whether they are fit to replace handwritten operator implementations not only w.r.t. implementation effort and portability but also performance. In this paper, we investigate various general-purpose libraries that are both portable and easy to use for arbitrary GPUs to test their production readiness on the example of database operations. To this end, we develop a framework to show the support of GPU libraries for database operations that allows a user to plug-in new libraries and custom-written code. Our framework allows for easy pluggability of new libraries for query execution using a simple task model. Using this framework, we develop multiple libraries (ArrayFire, Thrust, and boost.compute) supporting many database operations. We use these libraries to experiment with different devices to see the impact of the underlying device. Based on our experiments, we see a significant diversity in terms of performance among libraries. Furthermore, one of the fundamental database primitives—hashing, and thus hash joins—is currently not supported, leaving important tuning potential unused.
Harish Kumar Harihara Subramanian, Bala Gurumurthy, Gabriel Campero Durand, David Broneske, Gunter Saake
Distributed Parallel Databases5
2022 Slide-recommendation System: A Strategy for Integrating Instructional Feedback into Online Exercise Sessions
Victor Obionwu, Vincent Toulouse, David Broneske, Gunter Saake
DATA4
2022 Peer-Reviewing and Submission Dynamics Around Top Software-Engineering Venues: A Juniors' Perspective
abstract
Academic research, by its nature, is notorious for being a challenging and demanding field. However, these challenges may become more complicated for certain groups of researchers rather than others. For instance, junior researchers who make up a large group of the current scientific community, particularly in the computer science domain, may face various types of impediments. A notable hindrance to realizing the impediments is the difficulty of precisely delineating them. In this paper, we report an empirical investigation to measure the level of awareness of any kind of obstacles that might hinder junior researchers’ publishing ability and disturb their involvement. For this purpose, we conducted a survey targeting active researchers from the Software Engineering field with a total of 52 respondents. We mainly focus on two types of aspects: peer reviewing models and collaboration. Our findings indicate that junior researchers seem to be more comfortable with double-blind reviewing models with more than half (approximately 67.2%) of them voting in favor of this model. The results also show a significant agreement that a lack of experience especially in academic writing and supervision problems constitute the most influential barriers to publishing. Our findings can help understand the needs of junior researchers and provide insights into our research community and its specific groups.
Rand Alchokr, Jacob Krüger, Yusra Shakeel, Gunter Saake, Thomas Leich
EASE4
2022 Incorporating Altmetrics to Support Selection and Assessment of Publications During Literature Analyses
abstract
Background. The constantly increasing number of scientific publications poses challenges for researchers to monitor, select, and assess the publications relevant for their own research. Several guidelines for assessing publications manually during a literature analysis exist, with researchers proposing (semi-)automated techniques to facilitate such assessments. Aims. Still, research indicates that current techniques require further improvements to facilitate the analysis of large sets of publications. In this paper, we propose a semi-automatic technique with which we aim to improve in this direction by facilitating the selection and assessment of publications. Method. Our technique uses publicly available data of a publication, namely citation counts, article-level metrics, venue metrics, and altmetrics, to guide an analyst in assessing its relevance and impact. To evaluate the feasibility of our technique and the included metrics, we performed an experimental analysis to automatically assign ratings to the retrieved publications. Results. The results indicate that our technique can help an analyst in assessing publications, and reduce manual effort. Through our technique, we achieve an average accuracy of 53 % with a recall of 71 %. While precision (14 %) and F1-score (21 %) are—not surprisingly, due to the high number of irrelevant results returned by automatic searches in digital libraries—low, we see an improvement of these values for more recent reviews for which we could collect more complete data. However, some manual effort is still required for the final selection of papers. Conclusions. While it is not possible to achieve full automation for selecting and quality assessing publications, we can see that our metrics-based technique can be a helpful means to provide an initial rating for the analyst. Also, incorporating altmetrics seems to be a promising addition to rate comparably recent publications, helping researchers to further facilitate the execution of literature analyses.
Yusra Shakeel, Rand Alchokr, Jacob Krüger, Thomas Leich, Gunter Saake
EASE5
2022 A Closer Look into Collaborative Publishing at Software-Engineering Conferences
Rand Alchokr, Jacob Krüger, Yusra Shakeel, Gunter Saake, Thomas Leich
TPDL4
2022 Weighted Altmetric Scores to Facilitate Literature Analyses
Yusra Shakeel, Abhisar Bharti, Thomas Leich, Gunter Saake
TPDL4
2022 Tseitin or not Tseitin? The Impact of CNF Transformations on Feature-Model Analyses
abstract
Feature modeling is widely used to systematically model features of variant-rich software systems and their dependencies. By translating feature models into propositional formulas and analyzing them with solvers, a wide range of automated analyses across all phases of the software development process become possible. Most solvers only accept formulas in conjunctive normal form (CNF), so an additional transformation of feature models is often necessary. However, it is unclear whether this transformation has a noticeable impact on analyses. In this paper, we compare three transformations (i.e., distributive, Tseitin, and Plaisted-Greenbaum) for bringing feature-model formulas into CNF. We analyze which transformation can be used to correctly perform feature-model analyses and evaluate three CNF transformation tools (i.e., FeatureIDE, KConfigReader, and Z3) on a corpus of 22 real-world feature models. Our empirical evaluation illustrates that some CNF transformations do not scale to complex feature models or even lead to wrong results for model-counting analyses. Further, the choice of the CNF transformation can substantially influence the performance of subsequent analyses.
Elias Kuiter, Sebastian Krieter, Chico Sundermann, Thomas Thüm, Gunter Saake
ASE5
2022 Are Altmetrics Useful for Assessing Scientific Impact?: A Survey
abstract
The rapidly expanding corpus of scientific publications poses various types of challenges for researchers, mostly concerning the selection and assessment of publications relevant to their research topic. Therefore, the scientific community is actively involved in proposing solutions for effectively retrieving promising publications. Traditional bibliometrics, such as citations, are most commonly used for evaluating the research impact of a publication, in spite of rightful criticism. More recently, the newly introduced altmetrics (e.g., Tweets) have gained popularity and are constantly being investigated to understand their usefulness and potential benefits for assessing the significance of publications. Researchers argue that altmetrics can be used to reflect the importance of a publication beyond the boundaries of traditional bibliometrics. However, it is important to be aware of the limitations and threats arising from altmetrics, too. In this paper, we present a survey analysis to understand the usefulness of altmetrics and determine their ability of being used as quality indicators for scientific research. Based on the findings, we discuss whether altmetrics can support the quality assessment during literature analyses to assist the analyst by reducing the required time and manual effort.
Yusra Shakeel, Rand Alchokr, Jacob Krüger, Thomas Leich, Gunter Saake
MEDES5
2022 A Skill Sharing Platform for Team Collaboration and Knowledge Exchange
Victor Obionwu, Andreas Nürnberger, Gunter Saake
WEBIST3
2021 OPECUR: An Enhanced Clustering-Based Model for Discovering Unexpected Rules
Sadeq Darrab, Priyamvada Bhardwaj, David Broneske, Gunter Saake
ADMA4
2021 variED: an editor for collaborative, real-time feature modeling
abstract
Abstract Feature models are a helpful means to document, manage, maintain, and configure the variability of a software system, and thus are a core artifact in software product-line engineering. Due to the various purposes of feature models, they can be a cross-cutting concern in an organization, integrating technical and business aspects. For this reason, various stakeholders (e.g., developers and consultants) may get involved into modeling the features of a software product line. Currently, collaboration in such a scenario can only be done with face-to-face meetings or by combining single-user feature-model editors with additional communication and version-control systems. While face-to-face meetings are often costly and impractical, using version-control systems can cause merge conflicts and inconsistency within a model, due to the different intentions of the involved stakeholders. Advanced tools that solve these problems by enabling collaborative, real-time feature modeling, analogous to Google Docs or Overleaf for text editing, are missing. In this article, we build on a previous paper and describe (1) the extended formal foundations of collaborative, real-time feature modeling, (2) our conflict resolution algorithm in more detail, (3) proofs that our formalization converges and preserves causality as well as user intentions, (4) the implementation of our prototype, and (5) the results of an empirical evaluation to assess the prototype’s usability. Our contributions provide the basis for advancing existing feature-modeling tools and practices to support collaborative feature modeling. The results of our evaluation show that our prototype is considered helpful and valuable by 17 users, also indicating potential for extending our tool and opportunities for new research directions.
Elias Kuiter, Sebastian Krieter, Jacob Krüger, Gunter Saake, Thomas Leich
Empir. Softw. Eng.4
2021 Towards multi-purpose main-memory storage structures: Exploiting sub-space distance equalities in totally ordered data sets for exact knn queries
abstract
Efficient knn computation for high-dimensional data is an important, yet challenging task. Today, most information systems use a column-store back-end for relational data. For such systems, multi-dimensional indexes accelerating selections are known. However, they cannot be used to accelerate knn queries. Consequently, one relies on sequential scans, specialized knn indexes, or trades result quality for speed. To avoid storing one specialized index per query type, we envision multipurpose indexes allowing to efficiently compute multiple query types. In this paper, we focus on additionally supporting knn queries as first step towards this goal. To this end, we study how to exploit total orders for accelerating knn queries based on the sub-space distance equalities observation. It means that non-equal points in the full space, which are projected to the same point in a sub space, have the same distance to every other point in this sub space. In case one can easily find these equalities and tune storage structures towards them, this offers two effects one can exploit to accelerate knn queries. The first effect allows pruning of point groups based on a cascade of lower bounds. The second allows to re-use previously computed sub-space distances between point groups. This results in a worst-case execution bound, which is independent of the distance function. We present knn algorithms exploiting both effects and show how to tune a storage structure already known to work well for multi-dimensional selections. Our investigations reveal that the effects are robust to increasing, e.g., the dimensionality, suggesting generally good knn performance. Comparing our knn algorithms to well-known competitors reveals large performance improvements up to one order of magnitude. Furthermore, the algorithms deliver at least comparable performance as the next fastest competitor suggesting that the algorithms are only marginally affected by the curse of dimensionality.
Martin Schäler, Christine Schäler, Veit Köppen, David Broneske, Gunter Saake
Inf. Syst.5
2020 Analysis and Comparison of Block-Splitting-Based Load Balancing Strategies for Parallel Entity Resolution
abstract
Entity resolution (ER) is a process to identify records that refer to the same real-world entity. In recent years, facing the ever-increasing data volume, both blocking techniques and parallel computation have been proposed for ER to reduce its running time and improve efficiency. It is popular and convenient to apply the MapReduce programming model for parallel computation. With the default load balancing strategy, if the block sizes are skewed, an imbalanced reducer load will occur and significantly increase the runtime. One possible solution is block-splitting: breaking the overpopulated blocks into smaller sub-blocks, to improve efficiency. In this paper we analyze the advantages and disadvantages of state-of-the-art block splitting methods (BlockSplit and BlockSlicer), and we propose two approaches: TLS and BOS to overcome the identified drawbacks. We comprehensively evaluate and compare our proposed solutions, with Spark implementations, using real-world and synthetic datasets with different properties. The results show that all of them can balance the reducer load with the help of the greedy partition assignment strategy. When memory of used cluster is not abundant given a dataset, a high number of reducers is required to reduce the GC time to improve efficiency. Partitcularly, our TLS and BOS have overwelmingly lower overhead due to the ability of block-wise composite key assignment.
Xiao Chen 0008, Nishanth Entoor Venkatarathnam, Kirity Rapuru, David Broneske, Gabriel Campero Durand, Roman Zoun, Gunter Saake
iiWAS7
2020 Establishing key performance indicators for measuring software-development processes at a large organization
abstract
Developing software systems in large organizations requires the cooperation of various organizational units and stakeholders. As software-development processes are distributed among such organizational units; and are constantly transformed to fulfill new domain regulations, address changing customer requirements, or adopt new software-engineering methods; it is challenging to ensure, measure, and steer—essentially monitor—the quality of the resulting systems. One means to facilitate such monitoring throughout whole software-development processes are key performance indicators, which provide a consolidated analysis of an organizations’ performance. However, it is also challenging to introduce key performance indicators for the software development of a large organization, as they must be implemented at and accepted by all relevant organizational units. In this paper, we report our experiences of introducing new key performance indicators for software-development processes at Volkswagen Financial Services AG, a large organization in the financial sector. We describe i) our methodology; ii) how we customized and use key performance indicators; iii) benefits achieved, namely improved monitoring and comparability, which help to define quality-improving actions; iv) and six lessons learned. These insights are helpful for other practitioners, providing an overview of a methodology they can adopt to assess the feasibility of key performance indicators as well as their benefits. Moreover, we hope to motivate research to investigate methods for introducing and monitoring key performance indicators to facilitate their adoption.
Cem Sürücü, Bianying Song, Jacob Krüger, Gunter Saake, Thomas Leich
ESEC/SIGSOFT FSE4
2020 Combining Two Worlds: MonetDB with Multi-Dimensional Index Structure Support to Efficiently Query Scientific Data
abstract
Reproducibility and generalizability are important criteria for today’s data management society. Hence, stand-alone solutions that work well in isolation, but cannot convince at system level lead to a frustrating user experience. As a consequence, in our demo, we take the step of accelerating queries on scientific data by integrating the multi-dimensional index structure Elf into the main-memory-optimized database management system MonetDB. The overall intention is to show that the stand-alone speed ups of using Elf can also be observed when integrated into a holistic system storing scientific data sets. In our prototypical implementation, we demonstrate the performance of an Elf-backed MonetDB on the standard OLAP-benchmark, TPC-H, and the genomic multi-dimensional range query benchmark from the scientific data community. Queries can be run live on both benchmarks by the audience, while they are able to create different indexes to accelerate selection performance.
Paul Blockhaus, David Broneske, Martin Schäler, Veit Köppen, Gunter Saake
SSDBM5
2020 Search. Review. Repeat? An empirical study of threats to replicating SLR searches
Jacob Krüger, Christian Lausberger, Ivonne von Nostitz-Wallwitz, Gunter Saake, Thomas Leich
Empir. Softw. Eng.4
2020 A Look into Programmers' Heads
abstract
Program comprehension is an important, but hard to measure cognitive process. This makes it difficult to provide suitable programming languages, tools, or coding conventions to support developers in their everyday work. Here, we explore whether functional magnetic resonance imaging (fMRI) is feasible for soundly measuring program comprehension. To this end, we observed 17 participants inside an fMRI scanner while they were comprehending source code. The results show a clear, distinct activation of five brain regions, which are related to working memory, attention, and language processing, which all fit well to our understanding of program comprehension. Furthermore, we found reduced activity in the default mode network, indicating the cognitive effort necessary for program comprehension. We also observed that familiarity with Java as underlying programming language reduced cognitive effort during program comprehension. To gain confidence in the results and the method, we replicated the study with 11 new participants and largely confirmed our findings. Our results encourage us and, hopefully, others to use fMRI to observe programmers and, in the long run, answer questions, such as: How should we train programmers? Can we train someone to become an excellent programmer? How effective are new languages and tools for program comprehension?
Norman Peitek, Janet Siegmund, Sven Apel, Christian Kästner, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, André Brechmann
IEEE Trans. Software Eng.8
2019 Heterogeneous Committee-Based Active Learning for Entity Resolution (HeALER)
Xiao Chen 0008, David Broneske, Gabriel Campero Durand, Roman Zoun, Gunter Saake
ADBIS6
2019 ERST: Leveraging Topic Features for Context-Aware Legal Reference Linking
abstract
As legal regulations evolve, companies and organizations are tasked with quickly understanding and adapting to regulation changes. Tools like legal knowledge bases can facilitate this process, by either helping users navigate legal information or become aware of potentially relevant updates. At their core, these tools require legal references from many sources to be unified, e.g., by legal entity linking. This is challenging since legal references are often implicitly expressed, or combined via a context. In this paper, we prototype a machine learning approach to link legal references and retrieve combinations for a given context, based on standard features and classifiers, as used in entity resolution. As an extension, we evaluate an enhancement of those features with topic vectors, aiming to capture the relevant context of the passage containing a reference.We experiment with a repository of authoritative sources on German law for building topic models and extracting legal references and report that topic models do indeed contribute in improving supervised entity linking and reference retrieval.
Sabine Wehnert, Gabriel Campero Durand, Gunter Saake
JURIX3
2019 Effects of explicit feature traceability on program comprehension
abstract
Developers spend a substantial amount of their time with program comprehension. To improve their comprehension and refresh their memory, developers need to communicate with other developers, read the documentation, and analyze the source code. Many studies show that developers focus primarily on the source code and that small improvements can have a strong impact. As such, it is crucial to bring the code itself into a more comprehensible form. A particular technique for this purpose are explicit feature traces to easily identify a program’s functionalities. To improve our empirical understanding about the effects of feature traces, we report an online experiment with 49 professional software developers. We studied the impact of explicit feature traces, namely annotations and decomposition, on program comprehension and compared them to the same code without traces. Besides this experiment, we also asked our participants about their opinions in order to combine quantitative and qualitative data. Our results indicate that, as opposed to purely object-oriented code: (1) annotations can have positive effects on program comprehension; (2) decomposition can have a negative impact on bug localization; and (3) our participants perceive both techniques as beneficial. Moreover, none of the three code versions yields significant improvements on task completion time. Overall, our results indicate that lightweight traceability, such as using annotations, provides immediate benefits to developers during software development and maintenance without extensive training or tooling; and can improve current industrial practices that rely on heavyweight traceability tools (e.g., DOORS) and retroactive fulfillment of standards (e.g., ISO-26262, DO-178B).
Jacob Krüger, Gül Çalikli, Thorsten Berger, Thomas Leich, Gunter Saake
ESEC/SIGSOFT FSE5
2019 Effective product-line testing using similarity-based product prioritization
Mustafa Al-Hajjaji, Thomas Thüm, Malte Lochau, Jens Meinicke, Gunter Saake
Softw. Syst. Model.5
2019 Mutation operators for feature-oriented software product lines
abstract
Summary Mutation testing is an approach to assess the quality of test cases. Mutants are modified versions of a system that ideally compose faulty behaviour. Test cases for a system are effective if they kill these mutants. For software product lines, several works have addressed mutation testing to inject variability faults, which may only exist in some variants. These works focus on variability models or specific implementation techniques. In contrast, feature‐oriented programming has been rarely investigated, wherefore, we (1) derive corresponding mutation operators, (2) investigate the feasibility of our proposed and conventional operators on 4 software product lines, and (3) discuss open challenges in mutation testing of software product lines. The results show that our proposed operators are suitable to cause variability faults and extend the capabilities of conventional operators. Nonetheless, mutation testing of software product lines is comparably expensive, due to a high number of variants and mutants—resulting in equivalence and redundancy.
Jacob Krüger, Mustafa Al-Hajjaji, Thomas Leich, Gunter Saake
Softw. Test. Verification Reliab.4
2019 Efficient Evaluation of Multi-Column Selection Predicates in Main-Memory
abstract
Efficient evaluation of selection predicates is a performance-critical task, for instance to reduce intermediate result sizes being the input for further operations. With analytical queries getting more and more complex, the number of evaluated selection predicates per query and table rises, too. This leads to numerous multi-column selection predicates. Recent approaches to increase the performance of main-memory databases for selection-predicate evaluation aim at optimally exploiting the speed of the CPU by using accelerated scans. However, scanning each column one by one leaves tuning opportunities open that arise if all predicates are considered together. To this end, we introduce Elf, an index structure that is able to exploit the relation between several selection predicates. Elf features cache sensitivity, an optimized storage layout, fixed search paths, and slight data compression. In a large-scale evaluation, we compare its query performance to state-of-the-art approaches and a sequential scan using SIMD capabilities. Our results indicate a clear superiority of our approach for queries returning less than 10 percent of all tuples - a selectivity almost one order of magnitude larger than observed for related indexing approaches. For TPC-H queries with multi-column selection predicates, we achieve a speedup between factor five and two orders of magnitude, mainly depending on the selectivity of the predicates. Further scaling experiments reveal that for large data sets, these speedup factors are expected to increase, due to more densely populated data spaces. Finally, our results indicate that using a delta-store like concept to support periodic insertions results in virtually no performance penalty for reasonable sizes of a write-optimized Elf as delta store.
David Broneske, Veit Köppen, Gunter Saake, Martin Schäler
IEEE Trans. Knowl. Data Eng.3
2018 SIMD Vectorized Hashing for Grouped Aggregation
Bala Gurumurthy, David Broneske, Marcus Pinnecke, Gabriel Campero Durand, Gunter Saake
ADBIS5
2018 Exploring Large Scholarly Networks with Hermes
Gabriel Campero Durand, Anusha Janardhana, Marcus Pinnecke, Yusra Shakeel, Jacob Krüger, Thomas Leich, Gunter Saake
EDBT7
2018 Efficient Inter-Kernel Communication for OpenCL Database Operators on FPGAs
abstract
Many modern database engines use OpenCL to target heterogeneous hardware. Queries are evaluated by execution of chains of low-level operators. The common paradigm for OpenCL workloads facilitates communication between kernels using buffers in off-chip memory. This poses a severe performance limitation due to weak memory systems of FPGAs in contrast to the memory hierarchy available in CPUs and GPUs. To overcome this bottleneck, we propose the use of structural optimizations of kernel code. On-chip pipelining and code fusion are analyzed as alternatives to buffer-based inter-kernel communication. We assess the impact on resource utilization and system throughput and thereby demonstrate that properly structured code achieves a speedup of more than 4x over the default paradigm. This shows that it is essential for chains of kernels to consider not only optimization techniques for individual kernels, but also optimization of inter-kernel communication.
Tobias Drewes, Jan Moritz Joseph, Bala Gurumurthy, David Broneske, Gunter Saake, Thilo Pionteck
FPT5
2018 Propagating configuration decisions with modal implication graphs
abstract
Highly-configurable systems encompass thousands of interdependent configuration options, which require a non-trivial configuration process. Decision propagation enables a backtracking-free configuration process by computing values implied by user decisions. However, employing decision propagation for large-scale systems is a time-consuming task and, thus, can be a bottleneck in interactive configuration processes and analyses alike. We propose modal implication graphs to improve the performance of decision propagation by precomputing intermediate values used in the process. Our evaluation results show a significant improvement over state-of-the-art algorithms for 120 real-world systems.
Sebastian Krieter, Thomas Thüm, Sandro Schulze, Reimar Schröter, Gunter Saake
ICSE5
2018 Do you remember this source code?
abstract
Being familiar with the source code of a program comprises knowledge about its purpose, structure, and details. Consequently, familiarity is an important factor in many contexts of software development, especially for maintenance and program comprehension. As a result, familiarity is considered to some extent in many different approaches, for example, to model costs or to identify experts. Still, all approaches we are aware of require a manual assessment of familiarity and empirical analyses of forgetting in software development are missing. In this paper, we address this issue with an empirical study that we conducted with 60 open-source developers. We used a survey to receive information on the developers' familiarity and analyze the responses based on data we extract from their used version control systems. The results show that forgetting is an important factor when considering familiarity and program comprehension of developers. We find that a forgetting curve is partly applicable for software development, investigate three factors - the number of edits, ratio of owned code, and tracking behavior - that can impact familiarity with code, and derive a general memory strength for our participants. Our findings can be used to scope approaches that have to consider familiarity and they provide insights into forgetting in the context of software development.
Jacob Krüger, Jens Wiemann, Wolfram Fenske, Gunter Saake, Thomas Leich
ICSE4
2018 Towards automated test refactoring for software product lines
abstract
In practice, organizations often rely on the clone-and-own approach to reuse and customize existing systems. While increasing maintenance costs encourage some organizations to adopt their development processes towards more systematic reuse, others still avoid migrating to a reusable platform. Based on our experiences, a barrier preventing the adoption of software product lines is the fear of introducing new and more problematic bugs---during the migration or later on. We are aware of several works that automate software-product-line adoption, but they neglect the migration and maintenance of test cases. Automating the refactoring of tests can help to facilitate the adoption barrier, compare the quality after migrations, and support maintenance. In this vision paper, we i) discuss open research challenges that are based on our experiences and ii) sketch a first framework to develop automated solutions. Overall, we aim to illustrate our idea and initiate further research to facilitate the adoption and maintenance of software product lines.
Jacob Krüger, Mustafa Al-Hajjaji, Sandro Schulze, Gunter Saake, Thomas Leich
SPLC4
2018 Apo-games: a case study for reverse engineering variability from cloned Java variants
abstract
Software-product-line engineering is an approach to systematically manage reusable software features and has been widely adopted in practice. Still, in most cases, organizations start with a single product that they clone and modify when new customer requirements arise (a.k.a. clone-and-own). With an increasing number of variants, maintenance can become challenging and organizations may consider migrating towards a software product line, which is referred to as extractive approach. While this is the most common approach in practice, techniques to extract variability from cloned variants still fall short in several regards. In particular, this accounts for the low accuracy of automated analyses and refactoring, our limited understanding of the costs involved, and the high manual effort. A main reason for these limitations is the lack of realistic case studies. To tackle this problem, we provide a set of cloned variants. In this paper, we characterize these variants and challenge the research community to apply techniques for reverse engineering feature models, feature location, code smell analysis, architecture recovery, and the migration towards a software product line. By evaluating solutions with the developer of these variants, we aim to contribute to a larger body of knowledge on this real-world case study.
Jacob Krüger, Wolfram Fenske, Thomas Thüm, Dirk Aporius, Gunter Saake, Thomas Leich
SPLC5
2018 PClocator: a tool suite to automatically identify configurations for code locations
abstract
The source code of highly-configurable software is challenging to comprehend, analyze, and test. In particular, it is hard to identify all configurations that comprise a certain code location. We contribute PCLocator, a tool suite that solves this problem by utilizing static analysis tools for compile-time variability. Using BusyBox and the Variability Bugs Database (VBDb), we evaluate the correctness and performance of PCLocator. The results show that we are able to analyze files in a matter of seconds and derive correct configurations in 95% of all cases.
Elias Kuiter, Sebastian Krieter, Jacob Krüger, Kai Ludwig 0001, Thomas Leich, Gunter Saake
SPLC6
2018 Getting rid of clone-and-own: moving to a software product line for temperature monitoring
abstract
Due to its fast and simple applicability, clone-and-own is widely used in industry to develop software variants. In cooperation with different companies for thermoelectric products, we implemented multiple variants of a heat monitoring tool based on clone-and-own. After encountering redundancy-related problems during development and maintenance, we decided to migrate towards a software product line. Within this paper, we describe this case study of migrating cloned variants to a software product line based on the extractive approach. The resulting software product line encapsulates variability on several levels, including the underlying hardware systems, interfaces, and use cases. Currently, we support monitoring hardware from three different companies that use the same core system and provide a configurable front-end. We share our experiences and encountered problems with cloning and migration towards a software product line---focusing on feature extraction and modeling in particular. Furthermore, we provide a lightweight, web-based tool for modeling, configuring, and implementing software product lines, which we use to migrate and manage features. Besides this experience report, we contribute most of the created artifacts as open-source and freely available for the research community.
Elias Kuiter, Jacob Krüger, Sebastian Krieter, Thomas Leich, Gunter Saake
SPLC5
2018 Reverse engineering variability from requirement documents based on probabilistic relevance and word embedding
abstract
Feature and variability extraction from different artifacts is an indispensable activity to support systematic integration of single software systems and Software Product Line (SPL). Beyond manually extracting variability, a variety of approaches, such as feature location in source code and feature extraction in requirements, has been proposed to provide an automatic identification of features and their variation points. Compared with source code, requirements contain more complete variability information and provide traceability links to other artifacts from early development phases. In this paper, we propose a method to automatically extract features and relationships based on a probabilistic relevance and word embedding. In particular, our technique consists of three steps: First, we apply word2vec to obtain a prediction model, which we use to determine the word level similarity of requirements. Second, based on word level similarity and the significance of a word in a domain, we compute the requirements level similarity using probabilistic relevance. Third, we adopt hierarchical clustering to group features and we define four criteria to detect variation points between identified features. We perform a case study to evaluate the usability and robustness of our method and to compare it with the results of other related approaches. Initial results reveal that our approach identifies the majority of features correctly and also extracts variability information with reasonable accuracy.
Yang Li 0060, Sandro Schulze, Gunter Saake
SPLC3
2018 N-dimensional tensor factorization for self-configuration of software product lines at runtime
abstract
Dynamic software product lines demand self-adaptation of their behavior to deal with runtime contextual changes in their environment and offer a personalized product to the user. However, taking user preferences and context into account impedes the manual configuration process, and thus, an efficient and automated procedure is required. To automate the configuration process, context-aware recommendation techniques have been acknowledged as an effective mean to provide suggestions to a user based on their recognized context. In this work, we propose a collaborative filtering method based on tensor factorization that allows an integration of contextual data by modeling an N-dimensional tensor User-Feature-Context instead of the traditional two-dimensional User-Feature matrix. In the proposed approach, different types of non-functional properties are considered as additional contextual dimensions. Moreover, we show how to self-configure software product lines by applying our N-dimensional tensor factorization recommendation approach. We evaluate our approach by means of an empirical study using two datasets of configurations derived for medium-sized product lines. Our results reveal significant improvements in the predictive accuracy of the configuration over a state-of-the-art non-contextual matrix factorization approach. Moreover, it can scale up to a 7-dimensional tensor containing hundred of configurations in a couple of milliseconds.
Juliana Alves Pereira, Sandro Schulze, Eduardo Figueiredo 0001, Gunter Saake
SPLC4
2018 Extracting features from requirements: Achieving accuracy and automation with neural networks
abstract
Analyzing and extracting features and variability from different artifacts is an indispensable activity to support systematic integration of single software systems and Software Product Line (SPL). Beyond manually extracting variability, a variety of approaches, such as feature location in source code and feature extraction in requirements, has been proposed for automating the identification of features and their variation points. While requirements contain more complete variability information and provide traceability links to other artifacts, current techniques exhibit a lack of accuracy as well as a limited degree of automation. In this paper, we propose an unsupervised learning structure to overcome the abovementioned limitations. In particular, our technique consists of two steps: First, we apply Laplacian Eigenmaps, an unsupervised dimensionality reduction technique, to embed text requirements into compact binary codes. Second, requirements are transformed into a matrix representation by looking up a pre-trained word embedding. Then, the matrix is fed into CNN to learn linguistic characteristics of the requirements. Furthermore, we train CNN by matching the output of CNN with the pre-trained binary codes. Initial results show that accuracy is still limited, but that our approach allows to automate the entire process.
Yang Li 0060, Sandro Schulze, Gunter Saake
SANER3
2018 Personalized recommender systems for product-line configuration processes
Juliana Alves Pereira, Pawel Matuszyk, Sebastian Krieter, Myra Spiliopoulou, Gunter Saake
Comput. Lang. Syst. Struct.5
2018 A systematic literature review on the semi-automatic configuration of extended product lines
Lina Ochoa, Oscar González Rojas, Juliana Alves Pereira, Harold E. Castro, Gunter Saake
J. Syst. Softw.5
2018 Errata for "Analysis of two existing and one new dynamic programming algorithm for the generation of optimal bushy join trees without cross products"
abstract
In the published version of EnumerateCmp in the Section 3.3 on Page 936 [1], see also Algorithm 1, a small error is included in Line 5. In the first call of EnumerateCsgRec, too many nodes ( X ∪ N ) will be excluded for the emission of complements, leading to the fact that, in general, not all complements will be emitted correctly.
Andreas Meister 0001, Guido Moerkotte, Gunter Saake
Proc. VLDB Endow.3
2018 An Eight-Dimensional Systematic Evaluation of Optimized Search Algorithms on Modern Processors
abstract
Searching in sorted arrays of keys is a common task with a broad range of applications. Often searching is part of the performance critical sections of a database query or index access, raising the question what kind of search algorithm to choose and how to optimize it to obtain the best possible performance on real-world hardware. This paper strives to answer this question by evaluating a large set of optimized sequential, binary and k-ary search algorithms on a modern processor. In this context, we consider hardware-sensitive optimization strategies as well as algorithmic variations resulting in an eight-dimensional evaluation space. As a result, we give insights on expected interactions between search algorithms and optimizations on modern hardware. In fact, there is no single best optimized algorithm, leading to a set of advices on which variants should be considered first given a particular array size.
Lars-Christian Schulz, David Broneske, Gunter Saake
Proc. VLDB Endow.3
2018 Composing annotations without regret? Practical experiences using FeatureC
abstract
Summary Software product lines enable developers to derive similar products from a common code base. Existing implementation techniques can be categorized as composition‐based and annotation‐based approaches, with both approaches promising complementary benefits. However, annotation‐based approaches are commonly used in practice despite composition allowing physical separation of features and, thus, improving traceability and maintenance. A main hindrance to migrate annotated systems toward a composition‐based product line is the challenging and time‐consuming transformation task. For a company, it is difficult to predict the corresponding costs, and a successful outcome is uncertain. To overcome such problems, a solution proposed by the previous work is to use a hybrid approach, utilizing composition and annotation simultaneously. Based on this idea, we introduce a stepwise migration process from annotation‐based toward composition‐based approaches to lower the adoption barrier of composition. This process itself is independent of used implementation techniques and enables developers to incrementally migrate toward composition. We support our approach with detailed examples by partially migrating a real‐world system. In detail, we describe the following: (1) our migration process, (2) its application on a real‐world system, and (3) discuss practical challenges we face. We implemented the proposed approach and show that appropriate tool support helps to migrate toward composition‐based product lines. Based on the case study, we show that the hybrid product lines work correctly and can compete with the performance of the original annotated system. However, the results also illustrate open issues that have to be solved to apply such migrations in practice.
Jacob Krüger, Marcus Pinnecke, Andy Kenner, Christopher Kruczek, Fabian Benduhn, Thomas Leich, Gunter Saake
Softw. Pract. Exp.7
2017 Cost-Function Complexity Matters: When Does Parallel Dynamic Programming Pay Off for Join-Order Optimization
Andreas Meister 0001, Gunter Saake
ADBIS2
2017 How preprocessor annotations (do not) affect maintainability: a case study on change-proneness
abstract
Preprocessor annotations (e.g., #ifdef in C) enable the development of similar, but distinct software variants from a common code base. One particularly popular preprocessor is the C preprocessor, cpp. But the cpp is also widely criticized for impeding software maintenance by making code hard to understand and change. Yet, evidence to support this criticism is scarce. In this paper, we investigate the relation between cpp usage and maintenance effort, which we approximate with the frequency and extent of source code changes. To this end, we mined the version control repositories of eight open- source systems written in C. For each system, we measured if and how individual functions use cpp annotations and how they were changed. We found that functions containing cpp annotations are generally changed more frequently and more profoundly than other functions. However, when accounting for function size, the differences disappear or are greatly diminished. In summary, with respect to the frequency and extent of changes, our findings do not support the criticism of the cpp regarding maintainability.
Wolfram Fenske, Sandro Schulze, Gunter Saake
GPCE3
2017 Accelerating Multi-Column Selection Predicates in Main-Memory - The Elf Approach
abstract
Evaluating selection predicates is a data-intensive task that reduces intermediate results, which are the input for further operations. With analytical queries getting more and more complex, the number of evaluated selection predicates per query and table rises, too. This leads to numerous multicolumn selection predicates. Recent approaches to increase the performance of main-memory databases for selection-predicate evaluation aim at optimally exploiting the speed of the CPU by using accelerated scans. However, scanning each column one by one leaves tuning opportunities open that arise if all predicates are considered together. To this end, we introduce Elf, an index structure that is able to exploit the relation between several selection predicates. Elf features cache sensitivity, an optimized storage layout, fixed search paths, and slight data compression. In our evaluation, we compare its query performance to state-of the-art approaches and a sequential scan using SIMD capabilities. Our results indicate a clear superiority of our approach for multicolumn selection predicate queries with a low combined selectivity. For TPC-H queries with multi-column selection predicates, we achieve a speed-up between a factor of five and two orders of magnitude, mainly depending on the selectivity of the predicates.
David Broneske, Veit Köppen, Gunter Saake, Martin Schäler
ICDE3
2017 Are Databases Fit for Hybrid Workloads on GPUs? A Storage Engine's Perspective
abstract
Employing special-purpose processors (e.g., GPUs) in database systems has been studied throughout the last decade. Research on heterogeneous database systems that use both general-and special-purpose processors has addressed either transaction-or analytic processing, but not the combination of them. Support for hybrid transaction-and analytic processing (HTAP) has been studied exclusively for CPU-only systems. In this paper we ask the question whether current systems are ready for HTAP workload management with cooperating general- and special-purpose processors. For this, we take the perspective of the backbone of database systems: the storage engine. We propose a unified terminology and a comprehensive taxonomy to compare state-of-the-art engines from both domains. We show similarities and differences, and determine a necessary set of features for engines supporting HTAP workload on CPUs and GPUs. Answering our research question, our findings yield a resolute: not yet.
Marcus Pinnecke, David Broneske, Gabriel Campero Durand, Gunter Saake
ICDE4
2017 Modularization of Refinement Steps for Agile Formal Methods
Fabian Benduhn, Thomas Thüm, Ina Schaefer, Gunter Saake
ICFEM4
2017 Variant-preserving refactorings for migrating cloned products to a product line
abstract
A common and simple way to create custom product variants is to copy and adapt existing software (a. k. a. the clone-and-own approach). Clone-and-own promises low initial costs for creating a new variant as existing code is easily reused. However, clone-and-own also comes with major drawbacks for maintenance and evolution since changes, such as bug fixes, need to be synchronized among several product variants. Software product lines (SPLs) provide solutions to these problems because commonalities are implemented only once. Thus, in an SPL, changes also need to be applied only once. Therefore, the migration of cloned product variants to an SPL would be beneficial. The main tasks of migration are the identification and extraction of commonalities from existing products. However, these tasks are challenging and currently not well-supported. In this paper, we propose a step-wise and semi-automated process to migrate cloned product variants to a feature-oriented SPL. Our process relies on clone detection to identify code that is common to multiple variants and novel, variant-preserving refactorings to extract such common code. We evaluated our approach on five cloned product variants, reducing code clones by 25 %. Moreover, we provide qualitative insights into possible limitations and potentials for removing even more redundant code. We argue that our approach can effectively decrease synchronization effort compared to clone-and-own development and thus reduce the long-term costs for maintenance and evolution.
Wolfram Fenske, Jens Meinicke, Sandro Schulze, Steffen Schulze, Gunter Saake
SANER5
2016 Variability Management in IaaS
abstract
Flexible IT landscapes and efficient management of resources are key issues for enterprises. In cloud computing, varying requirements are discussed at application and platform level. In contrast, variability at cloud infrastructure level is seldom discussed. We have identified several variability requirements at infrastructure level from customer perspective. From service provider perspective, we also highlight which technical means needed to be employed to manage the variability. For elaboration, we provide examples for variability requirements and solutions. We also show with the help of a case study that how we can provide and manage variability using the software configuration tool Puppet. In the end, we summarize our paper and provide an outlook for future work.
Ateeq Khan, Johannes Hintsch, Klaus Turowski, Gunter Saake
CloudCom4
2016 IncLing: efficient product-line testing using incremental pairwise sampling
abstract
A software product line comprises a family of software products that share a common set of features. It enables customers to compose software systems from a managed set of features. Testing every product of a product line individually is often infeasible due to the exponential number of possible products in the number of features. Several approaches have been proposed to restrict the number of products to be tested by sampling a subset of products achieving sufficient combinatorial interaction coverage. However, existing sampling algorithms do not scale well to large product lines, as they require a considerable amount of time to generate the samples. Moreover, samples are not available until a sampling algorithm completely terminates. As testing time is usually limited, we propose an incremental approach of product sampling for pairwise interaction testing (called IncLing), which enables developers to generate samples on demand in a step-wise manner. Furthermore, IncLing uses heuristics to efficiently achieve pairwise interaction coverage with a reasonable number of products. We evaluated IncLing by comparing it against existing sampling algorithms using feature models of different sizes. The results of our approach indicate efficiency improvements for product-line testing.
Mustafa Al-Hajjaji, Sebastian Krieter, Thomas Thüm, Malte Lochau, Gunter Saake
GPCE5
2016 Tool demo: testing configurable systems with FeatureIDE
abstract
Most software systems are designed to provide custom functionality using configuration options. Testing such systems is challenging as running tests of a single configuration is often not sufficient, because defects may appear in other configurations. Ideally, all configurations of a software system should be tested, which is usually not applicable in practice due to the combinatorial explosion with respect to the configuration options. Multiple sampling strategies aim to reduce the set of tested configurations to a feasible amount, such as T-wise sampling, random configurations, and user-defined configurations. However, these strategies are often not applied in practice as they require manual effort or a specialized testing framework. Within our tool FeatureIDE, we integrate all aforementioned strategies and reduce the manual effort by automating the process of generating and testing configurations. Furthermore, we provide support for unit testing to avoid redundant test executions and for variability-aware testing. With this extension of FeatureIDE, we aim to make recent testing techniques for configurable systems applicable in practice.
Mustafa Al-Hajjaji, Jens Meinicke, Sebastian Krieter, Reimar Schröter, Thomas Thüm, Thomas Leich, Gunter Saake
GPCE7
2016 A feature-based personalized recommender system for product-line configuration
abstract
Today’s competitive marketplace requires the industry to understand unique and particular needs of their customers. Product line practices enable companies to create individual products for every customer by providing an interdependent set of features. Users configure personalized products by consecutively selecting desired features based on their individual needs. However, as most features are interdependent, users must understand the impact of their gradual selections in order to make valid decisions. Thus, especially when dealing with large feature models, specialized assistance is needed to guide the users in configuring their product. Recently, recommender systems have proved to be an appropriate mean to assist users in finding information and making decisions. In this paper, we propose an advanced feature recommender system that provides personalized recommendations to users. In detail, we offer four main contributions: (i) We provide a recommender system that suggests relevant features to ease the decision-making process. (ii) Based on this system, we provide visual support to users that guides them through the decision-making process and allows them to focus on valid and relevant parts of the configuration space. (iii) We provide an interactive open-source configurator tool encompassing all those features. (iv) In order to demonstrate the performance of our approach, we compare three different recommender algorithms in two real case studies derived from business experience.
Juliana Alves Pereira, Pawel Matuszyk, Sebastian Krieter, Myra Spiliopoulou, Gunter Saake
GPCE5
2016 Feature-model interfaces: the highway to compositional analyses of highly-configurable systems
abstract
Today's software systems are often customizable by means of load-time or compile-time configuration options. These options are typically not independent and their dependencies can be specified by means of feature models. As many industrial systems contain thousands of options, the maintenance and utilization of feature models is a challenge for all stakeholders. In the last two decades, numerous approaches have been presented to support stakeholders in analyzing feature models. Such analyses are commonly reduced to satisfiability problems, which suffer from the growing number of options. While first attempts have been made to decompose feature models into smaller parts, they still require to compose all parts for analysis. We propose the concept of a feature-model interface that only consists of a subset of features, typically selected by experts, and hides all other features and dependencies. Based on a formalization of feature-model interfaces, we prove compositionality properties. We evaluate feature-model interfaces using a three-month history of an industrial feature model from the automotive domain with 18,616 features. Our results indicate performance benefits especially under evolution as often only parts of the feature model need to be analyzed again.
Reimar Schröter, Sebastian Krieter, Thomas Thüm, Fabian Benduhn, Gunter Saake
ICSE5
2016 FeatureIDE: Scalable Product Configuration of Variable Systems
Juliana Alves Pereira, Sebastian Krieter, Jens Meinicke, Reimar Schröter, Gunter Saake, Thomas Leich
ICSR5
2016 On essential configuration complexity: measuring interactions in highly-configurable systems
abstract
Quality assurance for highly-configurable systems is challenging due to the exponentially growing configuration space. Interactions among multiple options can lead to surprising behaviors, bugs, and security vulnerabilities. Analyzing all configurations systematically might be possible though if most options do not interact or interactions follow specific patterns that can be exploited by analysis tools. To better understand interactions in practice, we analyze program traces to characterize and identify where interactions occur on control flow and data. To this end, we developed a dynamic analysis for Java based on variability-aware execution and monitor executions of multiple small to medium-sized programs. We find that the essential configuration complexity of these programs is indeed much lower than the combinatorial explosion of the configuration space indicates. However, we also discover that the interaction characteristics that allow scalable and complete analyses are more nuanced than what is exploited by existing state-of-the-art quality assurance strategies.
Jens Meinicke, Chu-Pan Wong, Christian Kästner, Thomas Thüm, Gunter Saake
ASE5
2016 Comparing algorithms for efficient feature-model slicing
abstract
Feature models are a well-known concept to represent variability in software product lines by defining features and their dependencies. During feature-model evolution, for information hiding, and for feature-model analyses, it is often necessary to remove certain features from a model. As the crude deletion of features can have undesirable effects on their dependencies, dependency-preserving algorithms, known as feature-model slicing, have been proposed. However, current algorithms do not perform well when removing a high number of features from large feature models. Therefore, we propose an efficient algorithm for feature-model slicing based on logical resolution and the minimization of logical formulas. We empirically evaluate the scalability of our algorithm on a number of feature models and find that our algorithm generally outperforms existing algorithms.
Sebastian Krieter, Reimar Schröter, Thomas Thüm, Wolfram Fenske, Gunter Saake
SPLC5
2016 Extracting software product lines: a cost estimation perspective
abstract
Companies are often forced to customize their software products. Thus, a common practice is to clone and adapt existing systems to new customer requirements. With the extractive approach, those derived variants can be migrated into a software product line. However, changing to a new development process is risky and may result in unnecessary costs. Therefore, companies apply cost estimations to predict whether another development approach is beneficial. Existing cost models for software-product-line engineering focus on development from scratch. Contrarily, the extractive approach is more common in practice but specialized models are missing. Thus, in this work we focus on product-line extraction from a set of legacy systems. We i) describe according cost factors, ii) put them in context with the development process and cost curves, and iii) identify open challenges in product-line economics. This way, our work supports cost estimations for the extractive approach and provides a basis for further research.
Jacob Krüger, Wolfram Fenske, Jens Meinicke, Thomas Leich, Gunter Saake
SPLC5
2015 A Self-tuning Framework for Cloud Storage Clusters
Siba Mohammad, Eike Schallehn, Gunter Saake
ADBIS3
2015 Flexible Analysis of Plant Genomes in a Database Management System
abstract
Analysis of genomes has a wide range of applications from disease susceptibility studies to plant breeding research. For example, di↵erent types of barley have di↵ering characteristics regarding draught or salt tolerance. Thus, a typical use case is comparing two plant genomes and try to deduce which genes are responsible for a certain resistance. For this, we need to find di↵erences in large volumes of aligned genome data, which is already available in large genome databases. The challenge is to eciently retrieve the genotypes of a certain range of the genome, and then, to determine variants and their impact on the plant organism. State-of-the-art tools are fixed pipelines with a fixed parametrization. However, in practice, users want to interactively analyse genome data and need to customize the parametrization. In this demonstration, we show how we can support flexible ad-hoc analyses of arbitrary plant genomes using SQL with a small set of user-defined aggregation functions and dynamic parametrization. Furthermore, we demonstrate how genome analysis workflows for variant calling can be applied to our system and provide insights about the performance of our system.
Sebastian Dorok, Sebastian Breß, Jens Teubner, Gunter Saake
EDBT4
2015 An analytical model for data persistence in Business Data Warehouses
abstract
Redundancy of data persistence in Data Warehouses is mostly justified with better performance when accessing data for analysis. However, there are other reasons to store data redundantly, which are often not recognized when designing data warehouses. Especially in Business Data Warehouses, data management via multiple persistence levels is necessary to condition the huge amount of data into an adequate format for its final usage. Redundant data allocates additional disk space and requires time-consuming processing and huge effort for complex maintenance. That means in reverse: avoiding data persistence leads to less effort. The question arises: What data for what purposes do really need to be stored? In this paper, we discuss decision support and evaluation approaches beyond cost-based comparisons. We use a compendium of purposes for data persistence. We define a model that includes objective indicators and subjective user preferences for decision making on data persistence in Business Data Warehouses. We develop an indicator system that enables the measurement of technical as well as business-related facts. With multi-criteria decision methodology, we present a framework to objectively compare different alternatives for data persistence. Finally, we apply our developed method to a real world Business Data Warehouse and show applicability and integration of our model in an existing system.
Veit Köppen, Thorsten Winsemann, Gunter Saake
RCIS3
2015 When code smells twice as much: Metric-based detection of variability-aware code smells
abstract
Code smells are established, widely used characterizations of shortcomings in design and implementation of software systems. As such, they have been subject to intensive research regarding their detection and impact on understandability and changeability of source code. However, current methods do not support highly configurable software systems, that is, systems that can be customized to fit a wide range of requirements or platforms. Such systems commonly owe their configurability to conditional compilation based on C preprocessor annotations (a. k. a. #ifdefs). Since annotations directly interact with the host language (e. g., C), they may have adverse effects on understandability and changeability of source code, referred to as variability-aware code smells. In this paper, we propose a metric-based method that integrates source code and C preprocessor annotations to detect such smells. We evaluate our method for one specific smell on five open-source systems of medium size, thus, demonstrating its general applicability. Moreover, we manually reviewed 100 instances of the smell and provide a qualitative analysis of its potential impact as well as common causes for the occurrence.
Wolfram Fenske, Sandro Schulze, Daniel Meyer, Gunter Saake
SCAM4
2014 Toward Hardware-Sensitive Database Operations
abstract
Satisfying the performance needs of tomorrow typically im-plies using modern processor capabilities (such as single in-struction, multiple data) and co-processors (such as graphics processing units) to accelerate database operations. Algo-rithms are typically hand-tuned to the underlying (co-)pro-cessors. This solution is error-prone, introduces high imple-mentation and maintenance cost and one implementations is not portable to other (co-)processors. To this end, we argue for a combination of database research with modern software-engineering approaches. We emphasize our vision of generating optimized database algorithms tailored to used (co-)processors from a common code base. With this, we maximize performance while minimizing implementation and maintenance effort of hardware-tailored database operations. 1.
David Broneske, Sebastian Breß, Max Heimel, Gunter Saake
EDBT4
2014 Understanding understanding source code with functional magnetic resonance imaging
abstract
Program comprehension is an important cognitive process that inherently eludes direct measurement. Thus, researchers are struggling with providing suitable programming languages, tools, or coding conventions to support developers in their everyday work. In this paper, we explore whether functional magnetic resonance imaging (fMRI), which is well established in cognitive neuroscience, is feasible to soundly measure program comprehension. In a controlled experiment, we observed 17 participants inside an fMRI scanner while they were comprehending short source-code snippets, which we contrasted with locating syntax errors. We found a clear, distinct activation pattern of five brain regions, which are related to working memory, attention, and language processing---all processes that fit well to our understanding of program comprehension. Our results encourage us and, hopefully, other researchers to use fMRI in future studies to measure program comprehension and, in the long run, answer questions, such as: Can we predict whether someone will be an excellent programmer? How effective are new languages and tools for program understanding? How should we train programmers?
Janet Siegmund, Christian Kästner, Sven Apel, Chris Parnin, Anja Bethmann, Thomas Leich, Gunter Saake, André Brechmann
ICSE7
2014 Relational on demand data management for IT-services
abstract
Database systems are widely used in technical applications. However, it is difficult to decide which database management system fits best for a certain application. For many applications, different workload types often blend to mixed workloads that cause mixed requirements. The selection of an appropriate database management system is more critical for mixed workloads because classical domains with complementary requirements are combined, e.g., OLTP and OLAP. A definite decision for a database management system is not possible. Hybrid database system are developed to accept this challenge, i.e., these systems combine different storage approaches. However, a mutual optimization in hybrid systems is not available for mixed workloads. We develop a decision-support framework to provide application-performance estimation on a certain database management system on the one hand and to provide query optimization for hybrid database systems on the other hand. In this paper, we combine heuristics to a rule-based query optimization framework for hybrid relational database systems. That is, we aim on support for IT-services with volatile requirements. We evaluate the Aqua2framework on standard database benchmarks. and show an acceleration of query execution on hybrid database systems.
Andreas Lübcke, Martin Schäler, Veit Köppen, Gunter Saake
RCIS4
2014 Similarity-based prioritization in software product-line testing
abstract
Exhaustively testing every product of a software product line (SPL) is a difficult task due to the combinatorial explosion of the number of products. Combinatorial interaction testing is a technique to reduce the number of products under test. However, it is typically up-to the tester in which order these products are tested. We propose a similarity-based prioritization to be applied on these products before they are generated. The proposed approach does not guarantee to find more errors than sampling approaches, but it aims at increasing interaction coverage of an SPL under test as fast as possible over time. This is especially beneficial since usually the time budget for testing is limited. We implemented similarity-based prioritization in FeatureIDE and evaluated it by comparing its outcome to the default outcome of three sampling algorithms as well as to random orders. The experiment results indicate that the order with similarity-based prioritization is better than random orders and often better than the default order of existing sampling algorithms.
Mustafa Al-Hajjaji, Thomas Thüm, Jens Meinicke, Malte Lochau, Gunter Saake
SPLC5
2014 Feature-context interfaces: tailored programming interfaces for software product lines
abstract
Despite the wide use of software product lines, their implementation and evolution is a challenging task. When implementing a feature, a developer has to know which code fragments of other (already implemented) features are accessible in each program variant in which the feature is included. Especially for composition-based implementation techniques, in which the code is implemented in separated modules, it is an exhausting and error-prone task to find safely accessible code fragments of other modules. State-of-the-art tool support, such as product-line type checkers, detect errors a posteriori (i.e., during compilation), but fails to prevent errors during the implementation. To overcome this problem, we propose feature-context interfaces, which provide a modular and non-variable programming interface to the variable source code of a product line. These interfaces ease changes, extensions, and the maintainability of product lines. To demonstrate applicability, we implemented a content assist and an outline view in Eclipse based on feature-context interfaces. We evaluate the potential of our method by analyzing the number of potential type errors we prevent compared to state-of-the-art techniques.
Reimar Schröter, Norbert Siegmund, Thomas Thüm, Gunter Saake
SPLC4
2014 Potential synergies of theorem proving and model checking for software product lines
abstract
The verification of software product lines is an active research area. A challenge is to efficiently verify similar products without the need to generate and verify them individually. As solution, researchers suggest family-based verification approaches, which either transform compile-time into runtime variability or make verification tools variability-aware. Existing approaches either focus on theorem proving, model checking, or other verification techniques. For the first time, we combine theorem proving and model checking to evaluate their synergies for product-line verification. We provide tool support by connecting five existing tools, namely FeatureIDE and FeatureHouse for product-line development, as well as KeY, JPF, and OpenJML for verification of Java programs. In an experiment, we found the synergy of improved effectiveness and efficiency, especially for product lines with few defects. Further, we experienced that model checking and theorem proving are more efficient and effective if the product line contains more defects.
Thomas Thüm, Jens Meinicke, Fabian Benduhn, Martin Hentschel 0002, Alexander von Rhein, Gunter Saake
SPLC6
2014 Toward efficient and reliable genome analysis using main-memory database systems
abstract
Improvements in DNA sequencing technologies allow to sequence complete human genomes in a short time and at acceptable cost. Hence, the vision of genome analysis as standard procedure to support and improve medical treatment becomes reachable. In this vision paper, we describe important data-management challenges that have to be met to make this vision come true. Besides genome-analysis performance, data-management capabilities such as data provenance and data integrity become increasingly important to enable comprehensible and reliable genome analysis. We argue to meet these challenges by using main-memory database technologies, which combine fast processing capabilities with extensive data-management capabilities. Finally, we discuss possibilities of integrating genome-analysis tasks into DBMSs and derive new research questions.
Sebastian Dorok, Sebastian Breß, Horstfried Läpple, Gunter Saake
SSDBM4
2014 Load-aware inter-co-processor parallelism in database query processing
Sebastian Breß, Norbert Siegmund, Max Heimel, Michael Saecker, Tobias Lauer, Ladjel Bellatreche, Gunter Saake
Data Knowl. Eng.7
2014 Ocelot/HyPE: Optimized Data Processing on Heterogeneous Hardware
abstract
The past years saw the emergence of highly heterogeneous server architectures that feature multiple accelerators in addition to the main processor. Efficiently exploiting these systems for data processing is a challenging research problem that comprises many facets, including how to find an optimal operator placement strategy, how to estimate runtime costs across different hardware architectures, and how to manage the code and maintenance blowup caused by having to support multiple architectures. In prior work, we already discussed solutions to some of these problems: First, we showed that specifying operators in a hardware-oblivious way can prevent code blowup while still maintaining competitive performance when supporting multiple architectures. Second, we presented learning cost functions and several heuristics to efficiently place operators across all available devices. In this demonstration, we provide further insights into this line of work by presenting our combined system Ocelot/HyPE. Our system integrates a hardware-oblivious data processing engine with a learning query optimizer for placement decisions, resulting in a highly adaptive DBMS that is specifically tailored towards heterogeneous hardware environments.
Sebastian Breß, Max Heimel, Michael Saecker, Bastian Köcher, Volker Markl, Gunter Saake
Proc. VLDB Endow.6
2014 FeatureIDE: An extensible framework for feature-oriented software development
Thomas Thüm, Christian Kästner, Fabian Benduhn, Jens Meinicke, Gunter Saake, Thomas Leich
Sci. Comput. Program.5
2013 Exploring the Design Space of a GPU-Aware Database Architecture
Sebastian Breß, Max Heimel, Norbert Siegmund, Ladjel Bellatreche, Gunter Saake
ADBIS (2)5
2013 An Operator-Stream-Based Scheduling Engine for Effective GPU Coprocessing
Sebastian Breß, Norbert Siegmund, Ladjel Bellatreche, Gunter Saake
ADBIS4
2013 A Latent Semantic Indexing-Based Approach to Determine Similar Clusters in Large-scale Schema Matching
Seham Moawed, Alsayed Algergawy, Amany M. Sarhan, Ali Eldosouky, Gunter Saake
ADBIS (2)5
2013 Do background colors improve program comprehension in the #ifdef hell?
Janet Siegmund, Christian Kästner, Sven Apel, Jörg Liebig, Michael Schulze, Raimund Dachselt, Maria Papendieck, Thomas Leich, Gunter Saake
Empir. Softw. Eng.9
2013 Efficient co-processor utilization in database query processing
Sebastian Breß, Felix Beier, Hannes Rauhe, Kai-Uwe Sattler, Eike Schallehn, Gunter Saake
Inf. Syst.6
2013 QuEval: Beyond high-dimensional indexing a la carte
abstract
In the recent past, the amount of high-dimensional data, such as feature vectors extracted from multimedia data, increased dramatically. A large variety of indexes have been proposed to store and access such data efficiently. However, due to specific requirements of a certain use case, choosing an adequate index structure is a complex and time-consuming task. This may be due to engineering challenges or open research questions. To overcome this limitation, we present QuEval, an open-source framework that can be flexibly extended w.r.t. index structures, distance metrics, and data sets. QuEval provides a unified environment for a sound evaluation of different indexes, for instance, to support tuning of indexes. In an empirical evaluation, we show how to apply our framework, motivate benefits, and demonstrate analysis possibilities.
Martin Schäler, Alexander Grebhahn, Reimar Schröter, Sandro Schulze, Veit Köppen, Gunter Saake
Proc. VLDB Endow.6
2013 JavAdaptor - Flexible runtime updates of Java applications
abstract
SUMMARY Software is changed frequently during its life cycle. New requirements come, and bugs must be fixed. To update an application, it usually must be stopped, patched, and restarted. This causes time periods of unavailability, which is always a problem for highly available applications. Even for the development of complex applications, restarts to test new program parts can be time consuming and annoying. Thus, we aim at dynamic software updates to update programs at runtime. There is a large body of research on dynamic software updates, but so far, existing approaches have shortcomings either in terms of flexibility or performance. In addition, some of them depend on specific runtime environments and dictate the program's architecture. We present JavAdaptor, the first runtime update approach based on Java that (a) offers flexible dynamic software updates, (b) is platform independent, (c) introduces only minimal performance overhead, and (d) does not dictate the program architecture. JavAdaptor combines schema changing class replacements by class renaming and caller updates with Java HotSwap using containers and proxies. It runs on top of all major standard Java virtual machines. We evaluate our approach's applicability and performance in non‐trivial case studies and compare it with existing dynamic software update approaches. Copyright © 2012 John Wiley & Sons, Ltd.
Mario Pukall, Christian Kästner, Walter Cazzola, Sebastian Götz, Alexander Grebhahn, Reimar Schröter, Gunter Saake
Softw. Pract. Exp.7
2012 Automatic Selection of Processing Units for Coprocessing in Databases
Sebastian Breß, Felix Beier, Hannes Rauhe, Eike Schallehn, Kai-Uwe Sattler, Gunter Saake
ADBIS6
2012 Building Information System Variants with Tailored Database Schemas Using Features
Martin Schäler, Thomas Leich, Marko Rosenmüller, Gunter Saake
CAiSE4
2012 Reduction of Program-generation Times by Transformation-sequence Optimization
Martin Kuhlemann, Andreas Lübcke, Gunter Saake
ENASE3
2012 Applying Design by Contract to Feature-Oriented Programming
Thomas Thüm, Ina Schaefer, Martin Kuhlemann, Sven Apel, Gunter Saake
FASE5
2012 Predicting performance via automated feature-interaction detection
abstract
Customizable programs and program families provide user-selectable features to allow users to tailor a program to an application scenario. Knowing in advance which feature selection yields the best performance is difficult because a direct measurement of all possible feature combinations is infeasible. Our work aims at predicting program performance based on selected features. However, when features interact, accurate predictions are challenging. An interaction occurs when a particular feature combination has an unexpected influence on performance. We present a method that automatically detects performance-relevant feature interactions to improve prediction accuracy. To this end, we propose three heuristics to reduce the number of measurements required to detect interactions. Our evaluation consists of six real-world case studies from varying domains (e.g., databases, encoding libraries, and web servers) using different configuration techniques (e.g., configuration files and preprocessor flags). Results show an average prediction accuracy of 95%.
Norbert Siegmund, Sergiy S. Kolesnikov, Christian Kästner, Sven Apel, Don S. Batory, Marko Rosenmüller, Gunter Saake
ICSE7
2012 Toward measuring program comprehension with functional magnetic resonance imaging
abstract
Program comprehension is an often evaluated, internal cognitive process. In neuroscience, functional magnetic resonance imaging (fMRI) is used to visualize such internal cognitive processes. We propose an experimental design to measure program comprehension based on fMRI. In the long run, we hope to answer questions like What distinguishes good programmers from bad programmers? or What makes a good programmer?
Janet Siegmund, André Brechmann, Sven Apel, Christian Kästner, Jörg Liebig, Thomas Leich, Gunter Saake
SIGSOFT FSE7
2012 SPL Conqueror: Toward optimization of non-functional properties in software product lines
Norbert Siegmund, Marko Rosenmüller, Martin Kuhlemann, Christian Kästner, Sven Apel, Gunter Saake
Softw. Qual. J.6
2012 Type checking annotation-based product lines
abstract
Software product line engineering is an efficient means of generating a family of program variants for a domain from a single code base. However, because of the potentially high number of possible program variants, it is difficult to test them all and ensure properties like type safety for the entire product line. We present a product-line-aware type system that can type check an entire software product line without generating each variant in isolation. Specifically, we extend the Featherweight Java calculus with feature annotations for product-line development and prove formally that all program variants generated from a well typed product line are well typed. Furthermore, we present a solution to the problem of typing mutually exclusive features. We discuss how results from our formalization helped implement our own product-line tool CIDE for full Java and report of our experience with detecting type errors in four existing software product line implementations.
Christian Kästner, Sven Apel, Thomas Thüm, Gunter Saake
ACM Trans. Softw. Eng. Methodol.4
2011 Hurdles in Multi-language Refactoring of Hibernate Applications
Hagen Schink, Martin Kuhlemann, Gunter Saake, Ralf Lämmel
ICSOFT (2)3
2011 A decision model to select the optimal storage architecture for relational databases
abstract
Requirements for database systems differ from small-scale database programs for embedded devices with minimal footprint to large-scale on-line analytical processing applications. For relational database management systems, two storage architectures have been introduced: a) row-oriented architecture and b) column-oriented architecture. In this paper, we present a query decomposition approach to evaluate database operations with respect to their performance according to the storage architecture. We map decomposed queries to workload patterns which contain aggregated database statistics. Further, we develop our complementary decision models which advise the selection of the optimal storage architecture for a given application domain. The first decision model improves the performance of running systems (on-line). The second and third decision model advise an efficient database design or decide which architecture is more suitable for a given application domain (off-line).
Andreas Lübcke, Veit Köppen, Gunter Saake
RCIS3
2011 Flexible feature binding in software product lines
Marko Rosenmüller, Norbert Siegmund, Sven Apel, Gunter Saake
Autom. Softw. Eng.4
2010 Combining Schema and Level-Based Matching for Web Service Discovery
Alsayed Algergawy, Richi Nayak, Norbert Siegmund, Veit Köppen, Gunter Saake
ICWE5
2010 Element similarity measures in XML schema matching
Alsayed Algergawy, Richi Nayak, Gunter Saake
Inf. Sci.3
2009 On modelling adaptive service-oriented business processes
abstract
With the maturing of service technology, most of organizations are implementing their business processes using Web-services (shortly SO-BPs). Nevertheless, still challenging engineering problems are hindering highly adaptive and realistic composite services. We are proposing a stepwise approach for this purpose. First, we are adopting a fine-grained activity-based perception, where we govern the semantics of any activity using event-driven business rules. We then conceptualize such activity-centric rules as transient architectural connectors. In terms of service-oriented architecture, connector roles will be playing service interfaces, whereas their glues be capturing the service composition logic. We further sketch how this modelling approach can be implemented using the aspectual .Net environment.
Nasreddine Aoumeur, Kamel Barkaoui, Gunter Saake
AICCSA3
2009 FeatureIDE: A tool framework for feature-oriented software development
abstract
Tools support is crucial for the acceptance of a new programming language. However, providing such tool support is a huge investment that can usually not be provided for a research language. With FeatureIDE, we have built an IDE for AHEAD that integrates all phases of feature-oriented software development. To reuse this investment for other tools and languages, we refactored FeatureIDE into an open source framework that encapsulates the common ideas of feature-oriented software development and that can be reused and extended beyond AHEAD. Among others, we implemented extensions for FeatureC++ and FeatureHouse, but in general, FeatureIDE is open for everybody to showcase new research results and make them usable to a wide audience of students, researchers, and practitioners.
Christian Kästner, Thomas Thüm, Gunter Saake, Janet Siegmund, Thomas Leich, Fabian Wielgorz, Sven Apel
ICSE3
2009 On the impact of the optional feature problem: analysis and case studies
Christian Kästner, Sven Apel, Syed Saif ur Rahman, Marko Rosenmüller, Don S. Batory, Gunter Saake
SPLC6
2009 Improving XML schema matching performance using Prüfer sequences
Alsayed Algergawy, Eike Schallehn, Gunter Saake
Data Knowl. Eng.3
2009 Tailor-made data management for embedded systems: A case study on Berkeley DB
Marko Rosenmüller, Sven Apel, Thomas Leich, Gunter Saake
Data Knowl. Eng.4
2008 Towards Unanticipated Runtime Adaptation of Java Applications
abstract
Modifying an application usually means to stop the application, apply the changes, and start the application again. That means, the application is not available for at least a short time period. This is not acceptable for highly available applications. One reasonable approach which faces the problem of unavailability is to change highly available applications at runtime. To allow extensive runtime adaptation the application must be enabled for unanticipated changes even of already executed program parts. This is due to the fact that it is not predictable what changes become necessary and when they have to be applied. Since Java is commonly used for developing highly available applications, we discuss its shortcomings and opportunities regarding unanticipated runtime adaptation. We present an approach based on Java HotSwap and object wrapping which overcomes the identified shortcomings and evaluate it in a case study.
Mario Pukall, Christian Kästner, Gunter Saake
APSEC3
2008 Measuring Non-Functional Properties in Software Product Line for Product Derivation
abstract
A software product line (SPL) enables stakeholders to derive different software products for a domain while providing a high degree of reuse of their code units. Software products are derived in a configuration process by composing different code units. The configuration process becomes complex if SPLs contain hundreds of features. In many cases, a stakeholder is not only interested in functional but also in non-functional properties of a desired product. Because SPLs can be used in different application scenarios alternative implementations of already existing functionality are developed to meet special non-functional requirements, like restricted binary size and performance guarantees. To enable these complex configurations we discuss and present techniques to measure non-functional properties of software modules and use these values to compute SPL configurations optimized to the users needs.
Norbert Siegmund, Marko Rosenmüller, Martin Kuhlemann, Christian Kästner, Gunter Saake
APSEC5
2008 Code generation to support static and dynamic composition of software product lines
abstract
Software product lines (SPLs) are used to create tailor-made software products by managing and composing reusable assets. Generating a software product from the assets of an SPL is possible statically before runtime or dynamically at load-time or runtime. Both approaches have benefits and drawbacks with respect to composition flexibility, performance, and resource consumption. Which type of composition is preferable should be decided by taking the application scenario into account. Current tools and languages, however, force a programmer to decide between static and dynamic composition during development. In this paper, we present an approach that employs code generation to support static and dynamic composition of features of a single code base. We offer an implementation on top of FeatureC++, an extension of the C++ programming language that supports software composition based on features. To simplify dynamic composition and to avoid creation of invalid products we furthermore provide means to (1) validate the correctness of a composition at runtime, (2) automatically instantiate SPLs in case of stand-alone applications, and (3) automatically apply interaction code of crosscutting concerns.
Marko Rosenmüller, Norbert Siegmund, Gunter Saake, Sven Apel
GPCE3
2008 A schema matching-based approach to XML schema clustering
abstract
The relationship between XML data clustering and schema matching is bidirectional. On one side, clustering techniques have been adopted to improve matching performance, and on the other side schema matching is the backbone of the clustering technique. This paper presents a new approach for clustering XML schema based on schema matching. In particular, we develop and implement an XML schema matching system, which determines semantic similarities between XML schemas based on the Prüfer sequence representation of schema trees. The proposed computation similarity algorithm makes use of the semantic meaning of XML elements as well as the hierarchical features of XML schemas. The computed similarities are then exploited by an agglomerative clustering algorithm to group similar schemas. Our experimental results show that the proposed approach is fast and accurate in clustering heterogeneous XML schemas.
Alsayed Algergawy, Eike Schallehn, Gunter Saake
iiWAS3
2008 An adaptive ECA-centric architecture for agile service-based business processes with compliant aspectual .NET environment
abstract
In today's competitive business environment, enterprises businesses are subjected to continuously adapt change to ensure achieving targeted goals. As enterprise businesses are managed by enterprise information systems, adaptation to changes at information system level is important. It raises the need for architectures and mechanisms that support such adaptation at finer granularity. Rule-based information systems using service-oriented computing [1] and aspect-oriented [2] approach promises high adaptability in this domain. In this research we propose an adaptable ECA (Event-Condition-Action) centric architecture and implementation mechanism based on service-oriented computing and aspect-oriented programming for rule-based enterprise information systems ensuring high adaptability.
Syed Saif ur Rahman, Nasreddine Aoumeur, Gunter Saake
iiWAS3
2008 Aspectual Feature Modules
abstract
Two programming paradigms are gaining attention in the overlapping fields of software product lines (SPLs) and incremental software development (ISD). Feature-oriented programming (FOP) aims at large-scale compositional programming and feature modularity in SPLs using ISD. Aspect-oriented programming (AOP) focuses on the modularization of crosscutting concerns in complex software. Although feature modules, the main abstraction mechanisms of FOP, perform well in implementing large-scale software building blocks, they are incapable of modularizing certain kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanisms of AOP. We contribute a systematic evaluation and comparison of FOP and AOP. It reveals that aspects and feature modules are complementary techniques. Consequently, we propose the symbiosis of FOP and AOP and aspectual feature modules (AFMs), a programming technique that integrates feature modules and aspects. We provide a set of tools that support implementing AFMs on top of Java and C++. We apply AFMs to a nontrivial case study demonstrating their practical applicability and to justify our design choices.
Sven Apel, Thomas Leich, Gunter Saake
IEEE Trans. Software Eng.3
2007 Features Interaction in Adaptive Service-driven Environments: A Reflective Petri Nets-Based Approach
Nasreddine Aoumeur, Gunter Saake
RCIS2
2006 Aspectual mixin layers: aspects and features in concert
abstract
Feature-Oriented Programming (FOP) decomposes complex software into features. Features are main abstractions in design and implementation. They reflect user requirements and incrementally refine one another. Although, features crosscut object-oriented architectures they fail to express all kinds of crosscutting concerns. This weakness is exactly the strength of aspects, the main abstraction mechanism of Aspect-Oriented Programming (AOP). In this article we contribute a systematic evaluation and comparison of both paradigms, AOP and FOP, with focus on incremental software development. It reveals that aspects and features are not competing concepts. In fact AOP has several strengths to improve FOP in order to implement crosscutting featuresSymmetrically, the development model of FOP can aid AOP in implementing incremental designs. Consequently, we propose the architectural integration of aspects and features in order to profit from both paradigms. We introduce aspectual mixin layers (AMLs), an implementation approach that realizes this symbiosis. A subsequent evaluation and a case study reveal that AMLs improve the crosscutting modularity of features as well as aspects become well integrated into incremental development style.
Sven Apel, Thomas Leich, Gunter Saake
ICSE3
2005 Using Step-Wise Refinement to Build a Flexible Lightweight Storage Manager
Thomas Leich, Sven Apel, Gunter Saake
ADBIS3
2005 Aspect Refinement and Bounding Quantification in Incremental Designs
abstract
This article investigates aspects in the context of the incremental software development, i.e. software product lines. Specifically, we propose the integration of aspects into AHEAD, an architectural model for feature-based product line development. We introduce the notion of aspect refinement based on aspectual mixin layers, a novel technique for implementing features. Aspect refinement enables a programmer to evolve aspects over several product line development stages. This is novel since common AOP approaches do not have such an architectural model. We realize the idea of aspect refinement by introducing mixin-based inheritance to aspects. Furthermore, we propose bounding quantification that reduces the complexity and unpredictability of aspects in incremental software development. Our novel bounding mechanism exploits the natural order of the layered architecture introduced by the concept of aspect refinement. Aspect refinement and bounding quantification improve the incremental development of product lines using AOP techniques.
Sven Apel, Thomas Leich, Gunter Saake
APSEC3
2005 FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming
Sven Apel, Thomas Leich, Marko Rosenmüller, Gunter Saake
GPCE4
2005 A Mediator for E-Business
Sven Apel, Gunter Saake, Sebastian Herden, André Zwanziger
WEBIST2
2005 Piggyback Meta-Data Propagation in Distributed Hash Tables
Erik Buchmann, Sven Apel, Gunter Saake
WEBIST3
2005 A comprehensive database schema integration method based on the theory of formal concepts
Ingo Schmitt, Gunter Saake
Acta Informatica2
2004 Dynamically evolving concurrent information systems specification and validation: a component-based Petri nets proposal
Nasreddine Aoumeur, Gunter Saake
Data Knowl. Eng.2
2004 The Active Vertice method: a performant filtering approach to high-dimensional indexing
Sören Balko, Ingo Schmitt, Gunter Saake
Data Knowl. Eng.3
2004 Efficient similarity-based operations for data integration
Eike Schallehn, Kai-Uwe Sattler, Gunter Saake
Data Knowl. Eng.3
2003 Interactive example-driven integration and reconciliation for accessing database federations
Kai-Uwe Sattler, Stefan Conrad 0001, Gunter Saake
Inf. Syst.3
2002 Integrating and Rapid-Prototyping UML Structural and Behavioural Diagrams Using Rewriting Logic
Nasreddine Aoumeur, Gunter Saake
CAiSE2
2002 Extensible and Similarity-Based Grouping for Data Integratio
abstract
The general concept of grouping and aggregation appears to be a fitting paradigm for various issues in data integration, but in its common form of equality-based grouping, a number of problems remain unsolved. We propose a generic approach to user-defined grouping as part of a SQL extension, allowing for more complex functions, for instance integration of data mining algorithms. Furthermore, we discuss high-level language primitives for common applications.
Eike Schallehn, Kai-Uwe Sattler, Gunter Saake
ICDE3
2002 A component-based Petri net model for specifying and validating cooperative information systems
Nasreddine Aoumeur, Gunter Saake
Data Knowl. Eng.2
2002 A two-level temporal logic for evolving specifications
Pierre-Yves Schobbens, Gunter Saake, Amílcar Sernadas, Cristina Sernadas
Inf. Process. Lett.2
2001 Advanced Grouping and Aggregation for Data Integration
abstract
New applications from the areas of analytical data processing and data integration require powerful features to condense and reconcile available data. As outlined in [1], the general concept of grouping and aggregation appears to be a fitting paradigm for a number of these issues, but in its common form of equality based groups or with current extensions like simple user-defined functions to derive group-by values on a per tuple basis and restricted aggregate functions a number of problems remain unsolved. We describe two extensions to the grouping mechanism, a generic one to support holistic user-defined grouping functions and higher level construct that provides similarity based grouping suitable in a number of applications like duplicate detection and elimination.
Eike Schallehn, Kai-Uwe Sattler, Gunter Saake
CIKM3
2001 Consistency management in object-oriented databases
abstract
Abstract The paper presents concepts and ideas underlying an approach for consistency management in object‐oriented (OO) databases. In this approach constraints are considered as first class citizens and stored in a meta‐database called constraints catalog. When an object is created constraints of this object are retrieved from the constraints catalog and relationships between these constraints and the object are established. The structure of constraints has several features that enhance consistency management in OO database management systems which do not exist in conventional approaches in a satisfactory way. This includes: monitoring object consistency at different levels of update granularity, integrity independence, and efficiency of constraints maintenance; controlling inconsistent objects; enabling and disabling constraints, globally to all objects or locally to individual objects; and declaring constraints on individual objects. All these features are provided by means of basic notations of OO data models. Copyright © 2001 John Wiley & Sons, Ltd.
Hussien Oakasha, Stefan Conrad 0001, Gunter Saake
Concurr. Comput. Pract. Exp.3
2000 Global Extensional Assertions and Local Integrity Constraints in Federated Schemata
Can Türker, Gunter Saake
Inf. Syst.2
1999 Computing Rules for Detecting Contradictory Transaction Termination Dependencies
Kerstin Schwarz, Can Türker, Gunter Saake
ADBIS3
1999 Consistent Handling of Integrity Constraints and Extensional Assertions for Schema Integration
Can Türker, Gunter Saake
ADBIS2
1999 Towards an Object Petri Nets Model for Specifying and Validating Distributed Information Systems
Nasreddine Aoumeur, Gunter Saake
CAiSE2
1999 Design Support for Database Federations
Kerstin Schwarz, Ingo Schmitt, Can Türker, Michael Höding, Eyk Hildebrandt, Sören Balko, Stefan Conrad 0001, Gunter Saake
ER8
1999 Integrating Execution Dependencies into the Transaction Closure Framework
abstract
The transaction closure framework provides means to describe and reason about different kind of dependencies between interrelated transactions. In this paper, we investigate execution dependencies for describing certain control flows among related transactions of a transaction closure. In particular, we consider the transitivity property for all kinds of transaction execution dependencies and present a complete and minimal set of rules for reasoning about the transitivity of execution dependencies. Furthermore, we analyze the relationship between execution and termination dependencies and point out that some dependency combinations are incompatible. Using derived transitive dependencies, we are able to conclude how arbitrary transactions of a transaction closure are transitively interrelated and, thus, to detect contradictory dependency specifications as well as superfluous transactions.
Kerstin Schwarz, Can Türker, Gunter Saake
Int. J. Cooperative Inf. Syst.3
1998 Schema Derivation for WWW Information Sources and Their Integration with Databases in Bioinformatics
Michael Höding, Ralf Hofestädt, Gunter Saake, Uwe Scholz
ADBIS3
1998 Extending Transaction Closures by N-ary Termination Dependencies
Kerstin Schwarz, Can Türker, Gunter Saake
ADBIS3
1998 Deriving Relationships between Integrity Constraints for Schema Comparison
Can Türker, Gunter Saake
ADBIS2
1998 Merging Inheritance Hierarchies for Database Integration
abstract
Merging inheritance hierarchies with overlapping class extensions and types is an essential task in database design. In the context of view integration and schema integration for federated databases and multidatabases conflicting inheritance hierarchies have to be merged. Inheritance hierarchies often occur explicitly in object-oriented databases as well as implicitly in relational databases. Since a concept lattice can be regarded as an inheritance hierarchy we propose to apply the theory of concept analysis to the problem of merging inheritance hierarchies. After investigating the power and complexity of concept analysis algorithms we provide a new algorithm tailored to our problem. The new algorithm has polynomial complexity and helps to optimize the resulting hierarchy with respect to certain quality criteria, e.g. number of classes and null values. An example demonstrates the practicability of our approach to merge conflicting inheritance hierarchies.
Ingo Schmitt, Gunter Saake
CoopIS2
1998 Execution Dependencies in Transaction Closures
abstract
Activities of advanced applications can be modeled by interrelated transactions. These relations can be described by different kinds of transaction dependencies. The notion of transaction closure is a generalization of nested transactions providing means to describe complex activities such as transactional workflows. In this paper our main focus lies on execution dependencies for describing certain control flows among related transactions of transaction closures. In particular we consider the transitivity property for all kinds of transaction execution dependencies and discuss their relationship to other kinds of dependencies such as transaction termination dependencies. We point out that some of these dependency combinations are incompatible. As a result we present rules for reasoning about the transitivity of execution dependencies. Thus, we are able to conclude how arbitrary transactions of a transaction closure are transitively interrelated.
Kerstin Schwarz, Can Türker, Gunter Saake
CoopIS3
1998 Transitive Dependencies in Transaction Closures
abstract
Complex applications consist of a large set of transactions which are interrelated. There are different kinds of dependencies among transactions of a complex application, e.g. termination or execution dependencies which are constraints on the occurrence of significant transaction events. The authors analyze a set of (orthogonal) transaction dependencies. They do not follow traditional approaches which consider advanced transaction structures as a certain kind of nested transactions. They introduce the notion of transaction closure as a generalization of nested transactions. A transaction closure comprises all transactions which are (transitively) initiated by one (root) transaction. By specifying dependencies among transactions of a transaction closure they are then able to define well-known transaction structures like nested transactions as well as advanced activity structures, e.g. workflows, in a common framework. In particular they consider the transitivity property for all kinds of transaction dependencies discussed in the paper. Thus, they are able to conclude how two arbitrary transactions are transitively interrelated. This issue is fundamental for understanding the entire semantics of a complex application.
Kerstin Schwarz, Can Türker, Gunter Saake
IDEAS3
1997 Extending Temporal Logic for Capturing Evolving Behaviour
Stefan Conrad 0001, Gunter Saake
ISMIS2
1996 Integration of Inheritance Trees as Part of View Generation For Database Federations
Ingo Schmitt, Gunter Saake
ER2
1996 Dynamically Changing Behavior: An Agent-Oriented View to Modeling Intelligent Information Systems
Can Türker, Stefan Conrad 0001, Gunter Saake
ISMIS3
1996 Deriving Liveness Goals from Temporal Logic Specifications
Carlos Caleiro, Gunter Saake, Amílcar Sernadas
J. Symb. Comput.2
1996 Formal Analysis of the Shlaer-Mellor Method: Towards a Toolkit of Formal and Informal Requirements Specification Techniques
Roel J. Wieringa, Gunter Saake
Requir. Eng.2
1996 TROLL - A Language for Object-Oriented Specification of Information Systems
abstract
TROLL is a language particularly suited for the early stages of information system development, when the universe of discourse must be described. In TROLL the descriptions of the static and dynamic aspects of entities are integrated into object descriptions. Sublanguages for data terms, for first-order and temporal assertions, and for processes, are used to describe respectively the static properties, the behavior, and the evolution over time of objects. TROLL organizes system design through object-orientation and the support of abstractions such as classification, specialization, roles, and aggregation. Language features for state interactions and dependencies among components support the composition of the system from smaller modules, as does the facility of defining interfaces on top of object descriptions.
Ralf Jungclaus, Gunter Saake, Thorsten Hartmann, Cristina Sernadas
ACM Trans. Inf. Syst.2
1995 Gaining a Uniform View of Different Integration Aspects in a Prototyping Environment
Jan-Hardy Kusch, Peter Hartel, Thorsten Hartmann, Gunter Saake
DEXA4
1994 Monitoring Temporal Preconditions in a Behaviour Oriented Object Model
Scarlet Schwiderski-Grosche, Thorsten Hartmann, Gunter Saake
Data Knowl. Eng.3
1993 Animation Support for a Conceptual Modelling Language
Thorsten Hartmann, Ralf Jungclaus, Gunter Saake
DEXA3
1993 Application Modelling in Heterogeneous Environments Using an Object Specification Language
abstract
We propose an object-oriented logical formalism to conceptionally model applications in an interoperable environment. Such an environment consists of heterogeneous and autonomous local (database) systems. Applications in such an environment use several resources and services. Their conceptual modelling involves re-specification of existing systems in terms of homogeneous views, modelling of behavior and system dynamics, modelling of logically distributed components in an open environment and the modelling of communication relationships and dependencies between components. We introduce a formal object-oriented language capable of dealing with these requirements and illustrate its use to model applications in an interoperable environment.
Gunter Saake, Ralf Jungclaus, Thorsten Hartmann
Int. J. Cooperative Inf. Syst.1
1992 Aggregation in a Behaviour Oriented Object Model
Thorsten Hartmann, Ralf Jungclaus, Gunter Saake
ECOOP3
1992 Updates in a Rule-Based Language for Objects
Michael Kramer, Georg Lausen, Gunter Saake
VLDB3
1992 Conceptual modelling of database applications using extended ER model
Gregor Engels, Martin Gogolla, Uwe Hohenstein, Klaus Hülsmann, Perdita Löhr, Gunter Saake, Hans-Dieter Ehrich
Data Knowl. Eng.6
1991 Language Features for Object-Oriented Conceptual Modelling
Ralf Jungclaus, Gunter Saake, Thorsten Hartmann
ER2
1991 Theoretical Foundations of Handling Large Substitution Sets in Temporal Integrity Monitoring
Klaus Hülsmann, Gunter Saake
Acta Informatica2
1991 Descriptive Specification of Database Object Behaviour
Gunter Saake
Data Knowl. Eng.1
1990 Representation of the Historical Information Necessary for Temporal Integrity Monitoring
Klaus Hülsmann, Gunter Saake
EDBT2
1989 Sorting, Grouping and Duplicate Elimination in the Advanced Information Management Prototype
Gunter Saake, Volker Linnemann, Peter Pistor, Lutz M. Wegner
VLDB1
1987 Monitoring dynamic integrity constraints based on temporal logic
Udo W. Lipeck, Gunter Saake
Inf. Syst.2