TY - CHAP A1 - Scherzinger, Stefanie A1 - Mauerer, Wolfgang A1 - Kondylakis, Haridimos ED - Ailamaki, Anastasia T1 - DeBinelle: Semantic Patches for Coupled Database-Application Evolution T2 - 2021 IEEE 37th International Conference on Data Engineering (ICDE 2021): 19-22 April 2021, Chania, Greece N2 - Databases are at the core of virtually any software product. Changes to database schemas cannot be made in isolation, as they are intricately coupled with application code. Such couplings enforce collateral evolution, which is a recognised, important research problem. In this demonstration, we show a new dimension to this problem, in software that supports alternative database backends: vendor-specific SQL dialects necessitate a simultaneous evolution of both, database schema and program code, for all supported DB variants. These near-same changes impose substantial manual effort for software developers. We introduce DeBinelle, a novel framework and domain-specific language for semantic patches that abstracts DB-variant schema changes and coupled program code into a single, unified representation. DeBinelle further offers a novel alternative to manually evolving coupled schemas and code. DeBinelle considerably extends established, seminal results in software engineering research, supporting several programming languages, and the many dialects of SQL. It effectively eliminates the need to perform vendor-specific changes, replacing them with intuitive semantic patches. Our demo of DeBinelle is based on real-world use cases from reference systems for schema evolution. KW - database management systems KW - databases KW - evolution KW - programming language semantics KW - semantic patches KW - software product lines KW - specification languages KW - SQL Y1 - 2021 SN - 978-1-7281-9184-3 U6 - https://doi.org/10.1109/ICDE51399.2021.00307 SP - 2697 EP - 2700 PB - IEEE CY - Piscataway, NJ ER - TY - CHAP A1 - Fruth, Michael A1 - Scherzinger, Stefanie A1 - Mauerer, Wolfgang A1 - Ramsauer, Ralf ED - Nambiar, Raghunath ED - Poess, Meikel T1 - Tell-Tale Tail Latencies: Pitfalls and Perils in Database Benchmarking T2 - Performance evaluation and benchmarking, 13th TPC Technology Conference (TPCTC 2021): Copenhagen, Denmark, August 20, 2021, Revised Selected Papers N2 - The performance of database systems is usually characterised by their average-case (i.e., throughput) behaviour in standardised or de-facto standard benchmarks like TPC-X or YCSB. While tails of the latency (i.e., response time) distribution receive considerably less attention, they have been identified as a threat to the overall system performance: In large-scale systems, even a fraction of requests delayed can build up into delays perceivable by end users. To eradicate large tail latencies from database systems, the ability to faithfully record them, and likewise pinpoint them to the root causes, is imminently required. In this paper, we address the challenge of measuring tail latencies using standard benchmarks, and identify subtle perils and pitfalls. In particular, we demonstrate how Java-based benchmarking approaches can substantially distort tail latency observations, and discuss how the discovery of such problems is inhibited by the common focus on throughput performance. We make a case for purposefully re-designing database benchmarking harnesses based on these observations to arrive at faithful characterisations of database performance from multiple important angles. KW - Benchmark harness KW - Database benchmarks KW - Tail latencies Y1 - 2022 SN - 9783030944377 U6 - https://doi.org/10.1007/978-3-030-94437-7_8 SP - 119 EP - 134 PB - Springer CY - Cham, Switzerland ER - TY - CHAP A1 - Mauerer, Wolfgang A1 - Scherzinger, Stefanie T1 - 1-2-3 Reproducibility for Quantum Software Experiments T2 - 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Honolulu, HI, USA, 15-18 March 2022 N2 - Various fields of science face a reproducibility crisis. For quantum software engineering as an emerging field, it is therefore imminent to focus on proper reproducibility engineering from the start. Yet the provision of reproduction packages is almost universally lacking. Actionable advice on how to build such packages is rare, particularly unfortunate in a field with many contributions from researchers with backgrounds outside computer science. In this article, we argue how to rectify this deficiency by proposing a 1-2-3~approach to reproducibility engineering for quantum software experiments: Using a meta-generation mechanism, we generate DOI-safe, long-term functioning and dependency-free reproduction packages. They are designed to satisfy the requirements of professional and learned societies solely on the basis of project-specific research artefacts (source code, measurement and configuration data), and require little temporal investment by researchers. Our scheme ascertains long-term traceability even when the quantum processor itself is no longer accessible. By drastically lowering the technical bar, we foster the proliferation of reproduction packages in quantum software experiments and ease the inclusion of non-CS researchers entering the field. KW - Computer Science KW - Quantum Physics KW - Software Engineering Y1 - 2022 U6 - https://doi.org/10.1109/SANER53432.2022.00148 SP - 1247 EP - 1248 PB - IEEE ER - TY - CHAP A1 - Braininger, Dimitri A1 - Mauerer, Wolfgang A1 - Scherzinger, Stefanie ED - Grossmann, Georg ED - Ram, Sudha T1 - Replicability and Reproducibility of a Schema Evolution Study in Embedded Databases T2 - Advances in conceptual modeling: ER 2020 Workshops CMAI, CMLS, CMOMM4FAIR, CoMoNoS, EmpER, Vienna, Austria, November 3-6, 2020, Proceedings N2 - Ascertaining the feasibility of independent falsification or repetition of published results is vital to the scientific process, and replication or reproduction experiments are routinely performed in many disciplines. Unfortunately, such studies are only scarcely available in database research, with few papers dedicated to re-evaluating published results. In this paper, we conduct a case study on replicating and reproducing a study on schema evolution in embedded databases. We can exactly repeat the outcome for one out of four database applications studied, and come close in two further cases. By reporting results, efforts, and obstacles encountered, we hope to increase appreciation for the substantial efforts required to ensure reproducibility. By discussing minutiae details required to ascertain reproducible work, we argue that such important, but often ignored aspects of scientific work should receive more credit in the evaluation of future research. KW - replicability KW - reproducibility KW - schema evolution Y1 - 2020 SN - 978-3-030-65846-5 U6 - https://doi.org/10.1007/978-3-030-65847-2_19 VL - 12584 SP - 210 EP - 219 PB - Springer CY - Cham ER - TY - CHAP A1 - Ringlstetter, Andreas A1 - Scherzinger, Stefanie A1 - Bissyandé, Tegawendé F. T1 - Data Model Evolution Using Object-NoSQL Mappers: Folklore or State-of-the-Art? T2 - 2016 IEEE/ACM 2nd International Workshop on Big Data Software Engineering (BIGDSE), 16 May 2016, Austin, TX, USA N2 - In big data software engineering, the schema flexibility of NoSQL document stores is a major selling point: When the document store itself does not actively manage a schema, the data model is maintained within the application. Just like object-relational mappers for relational databases, object-NoSQL mappers are part of professional software development with NoSQL document stores. Some mappers go beyond merely loading and storing Java objects: Using dedicated evolution annotations, developers may conveniently add, remove, or rename attributes from stored objects, and also conduct more complex transformations. In this paper, we analyze the dissemination of this technology in Java open source projects. While we find evidence on GitHub that evolution annotations are indeed being used, developers do not employ them so much for evolving the data model, but to solve different tasks instead. Our observations trigger interesting questions for further research. KW - Big data KW - data model evolution KW - Data models KW - Java KW - Loading KW - Object-NoSQL mappers KW - Software KW - Software engineering KW - Transient analysis Y1 - 2016 U6 - https://doi.org/10.1145/2896825.2896827 SP - 33 EP - 36 PB - ACM ER - TY - CHAP A1 - Cerqueus, Thomas A1 - de Almeida, Eduardo Cunha A1 - Scherzinger, Stefanie ED - Gangemi, Aldo ED - Leonardi, Stefano ED - Panconesi, Alessandro T1 - ControVol: Let Yesterday's Data Catch Up with Today's Application Code T2 - Proceedings of the 24th International Conference on World Wide Web (WWW '15) ; Florence Italy, 18.05.2015 - 22.0.2015 N2 - In building software-as-a-service applications, a flexible development environment is key to shipping early and often. Therefore, schema-flexible data stores are becoming more and more popular. They can store data with heterogeneous structure, allowing for new releases to be pushed frequently, without having to migrate legacy data first. However, the current application code must continue to work with any legacy data that has already been persisted in production. To let legacy data structurally "catch up" with the latest application code, developers commonly employ object mapper libraries with life-cycle annotations. Yet when used without caution, they can cause runtime errors and even data loss. We present ControVol, an IDE plugin that detects evolutionary changes to the application code that are incompatible with legacy data. ControVol warns developers already at development time, and even suggests automatic fixes for lazily migrating legacy data when it is loaded into the application. Thus, ControVol ensures that the structure of legacy data can catch up with the structure expected by the latest software release. Y1 - 2015 SN - 9781450334730 U6 - https://doi.org/10.1145/2740908.2742719 SP - 15 EP - 16 PB - ACM CY - New York, NY, USA ER - TY - CHAP A1 - Cerqueus, Thomas A1 - Cunha de Almeida, Eduardo A1 - Scherzinger, Stefanie T1 - Safely Managing Data Variety in Big Data Software Development T2 - 2015 IEEE/ACM 1st International Workshop on Big Data Software Engineering, 23-23 May 2015, Florence, Italy N2 - We consider the task of building Big Data software systems, offered as software-as-a-service. These applications are commonly backed by NoSQL data stores that address the proverbial Vs of Big Data processing: NoSQL data stores can handle large volumes of data and many systems do not enforce a global schema, to account for structural variety in data. Thus, software engineers can design the data model on the go, a flexibility that is particularly crucial in agile software development. However, NoSQL data stores commonly do not yet account for the veracity of changes when it comes to changes in the structure of persisted data. Yet this is an inevitable consequence of agile software development. In most NoSQL-based application stacks, schema evolution is completely handled within the application code, usually involving object mapper libraries. Yet simple code refactorings, such as renaming a class attribute at the source code level, can cause data loss or runtime errors once the application has been deployed to production. We address this pain point by contributing type checking rules that we have implemented within an IDE plug in. Our plug in ControVol statically type checks the object mapper class declarations against the code release history. ControVol is thus capable of detecting common yet risky cases of mismatched data and schema, and can even suggest automatic fixes. KW - Big data KW - history KW - Java KW - Loading KW - NoSQL data stores KW - object mapping KW - Production KW - Runtime KW - schema evolution KW - Software KW - type checking Y1 - 2015 U6 - https://doi.org/10.1109/BIGDSE.2015.9 SP - 4 EP - 10 PB - IEEE ER - TY - CHAP A1 - Heckner, Markus A1 - Bazo, Alexander A1 - Wolff, Christian A1 - Scherzinger, Stefanie T1 - Karel relearns c: teaching good software engineering practices in cs1 with karel the robot T2 - 2018 IEEE Global Engineering Education Conference (EDUCON), 17-20 April 2018, Santa Cruz de Tenerife, Spain N2 - This paper describes our implementation, teaching philosophy, and experiences with our C-based version of the widely known Karel the Robot introductory programming micro-language. Karel enables students to programmatically solve problems, using the C language, in a graphical two-dimensional world by moving the robot around while checking and manipulating its surroundings. We use Karel to solve the dilemma of either demanding too much or not enough from students during the first weeks of an introductory CS course, as interesting problems can be solved with limited input from lectures. Karel enables problem solving from day one of CS1, and encourages good software engineering practices such as top-down design from the beginning. We outline typical problems in the first weeks of CS1. We present a short overview of existing Karel implementations in various programming languages and our rationale for re-implementing Karel. We present our teaching philosophy and use of Karel in the classroom. We demonstrate how Karel is being used from a student perspective, along with a typical programming task. We discuss preliminary results of a survey and interviews with students from a first course in which Karel was used. KW - Computer languages KW - Education KW - Problem-solving KW - Programming profession KW - Robots KW - Writing Y1 - 2018 U6 - https://doi.org/10.1109/EDUCON.2018.8363402 SP - 1447 EP - 1454 PB - IEEE ER - TY - CHAP A1 - Scherzinger, Stefanie A1 - Cerqueus, Thomas A1 - Cunha de Almeida, Eduardo T1 - ControVol: A framework for controlled schema evolution in NoSQL application development T2 - 2015 IEEE 31st International Conference on Data Engineering, 13-17 April 2015, Seoul, Korea (South) N2 - Building scalable web applications on top of NoSQL data stores is becoming common practice. Many of these data stores can easily be accessed programmatically, and do not enforce a schema. Software engineers can design the data model on the go, a flexibility that is crucial in agile software development. The typical tasks of database schema management are now handled within the application code, usually involving object mapper libraries. However, today’s Integrated Development Environments (IDEs) lack the proper tool support when it comes to managing the combined evolution of the application code and of the schema. Yet simple refactorings such as renaming an attribute at the source code level can cause irretrievable data loss or runtime errors once the application is serving in production. In this demo, we present ControVol, a framework for controlled schema evolution in application development against NoSQL data stores. ControVol is integrated into the IDE and statically type checks object mapper class declarations against the schema evolution history, as recorded by the code repository. ControVol is capable of warning of common yet risky cases of mismatched data and schema. ControVol is further able to suggest quick fixes by which developers can have these issues automatically resolved. KW - Databases KW - Google KW - history KW - Java KW - Production KW - Runtime KW - Software Y1 - 2015 SN - 978-1-4799-7964-6 U6 - https://doi.org/10.1109/ICDE.2015.7113402 SP - 1464 EP - 1467 PB - IEEE ER - TY - CHAP A1 - Seifert, Christin A1 - Scherzinger, Stefanie A1 - Wiese, Lena T1 - Towards Generating Consumer Labels for Machine Learning Models T2 - 2019 IEEE First International Conference on Cognitive Machine Intelligence (CogMI), 12-14 Dec. 2019, Dallas, TX, USA N2 - Machine learning (ML) based decision making is becoming commonplace. For persons affected by ML-based decisions, a certain level of transparency regarding the properties of the underlying ML model can be fundamental. In this vision paper, we propose to issue consumer labels for trained and published ML models. These labels primarily target machine learning lay persons, such as the operators of an ML system, the executors of decisions, and the decision subjects themselves. Provided that consumer labels comprehensively capture the characteristics of the trained ML model, consumers are enabled to recognize when human intelligence should supersede artificial intelligence. In the long run, we envision a service that generates these consumer labels (semi-)automatically. In this paper, we survey the requirements that an ML system should meet, and correspondingly, the properties that an ML consumer label could capture. We further discuss the feasibility of operationalizing and benchmarking these requirements in the automated generation of ML consumer labels. KW - Artificial-intelligence-machine-learning-consumer-labels-transparency-x-AI KW - Biological system modeling KW - Data models KW - Machine learning KW - Measurement KW - Predictive models KW - Robustness KW - Training Y1 - 2019 U6 - https://doi.org/10.1109/CogMI48466.2019.00033 SP - 173 EP - 179 PB - IEEE ER - TY - CHAP A1 - Holubová, Irena A1 - Scherzinger, Stefanie ED - Groppe, Sven ED - Gruenwald, Le T1 - Unlocking the potential of nextGen multi-model databases for semantic big data projects T2 - Proceedings of the International Workshop on Semantic Big Data - (SBD '19) 05.07.2019 - 05.07.2019, Amsterdam, Netherlands N2 - A new vision in semantic big data processing is to create enterprise data hubs, with a 360° view on all data that matters to a corporation. As we discuss in this paper, a new generation of multi-model database systems seems a promising architectural choice for building such scalable, non-native triple stores. In this paper, we first characterize this new generation of multi-model databases. Then, discussing an example scenario, we show how they allow for agile and flexible schema management, spanning a large design space for creative and incremental data modelling. We identify the challenge of generating sound triple-views from data stored in several, interlinked models, for SPARQL querying. We regard this as one of several appealing research challenges where the semantic big data and the database architecture community may join forces. Y1 - 2019 SN - 9781450367660 U6 - https://doi.org/10.1145/3323878.3325807 SP - 1 EP - 6 PB - ACM Press CY - New York ER - TY - CHAP A1 - Pilven, Matthieu A1 - Scherzinger, Stefanie A1 - d’Orazio, Laurent ED - Guizzardi, Giancarlo ED - Gailly, Frederik ED - Suzana Pitangueira Maciel, Rita T1 - On Complex Value Relations in Hive T2 - Advances in Conceptual Modeling, ER 2020 workshops CMAI, CMLS, CMOMM4FAIR, CoMoNoS, EmpER, Vienna, Austria, November 3-6, 2020, Proceedings N2 - In this paper, we raise the question how data architects model their data for processing in Apache Hive. This well-known SQL-on-Hadoop engine supports complex value relations, where attribute types need not be atomic. In fact, this feature seems to be one of the prominent selling points, e.g., in Hive reference books. In an empirical study, we analyze Hive schemas in open source repositories. We examine to which extent practitioners make use of complex value relations and accordingly, whether they write queries over complex types. Understanding which features are actively used will help make the right decisions in setting up benchmarks for SQL-on-Hadoop engines, as well as in choosing which query operators to optimize for. KW - Complex value relations KW - Empirical study KW - Hive Y1 - 2019 SN - 978-3-030-34145-9 U6 - https://doi.org/10.1007/978-3-030-34146-6_13 SP - 146 EP - 156 PB - Springer International Publishing CY - Cham ER - TY - CHAP A1 - Maiwald, Benjamin A1 - Riedle, Benjamin A1 - Scherzinger, Stefanie ED - Guizzardi, Giancarlo ED - Gailly, Frederik ED - Suzana Pitangueira Maciel, Rita T1 - What Are Real JSON Schemas Like? T2 - Advances in Conceptual Modeling N2 - Recently, the semantics of the JSON Schema format, a de-facto standard for JSON schema declarations, has been formalized. It turns out that JSON Schema is a surprisingly complex schema language based on an open document semantics. In this paper, we present a first empirical analysis of a curated collection of real-world JSON Schemas. Knowing what real JSON Schemas are like (to borrow from a title of a related study on DTDs) helps practitioners and researchers in making realistic assumptions when building tools for JSON Schema processing. Y1 - 2019 SN - 978-3-030-34145-9 U6 - https://doi.org/10.1007/978-3-030-34146-6_9 VL - 11787 SP - 95 EP - 105 PB - Springer International Publishing CY - Cham ER - TY - CHAP A1 - Filho, Edson Ramiro Lucas A1 - de Almeida, Eduardo Cunha A1 - Scherzinger, Stefanie T1 - Don’t Tune Twice: Reusing Tuning Setups for SQL-on-Hadoop Queries T2 - Conceptual Modeling : 38th International Conference, ER 2019, Salvador, Brazil, November 4-7, 2019, Proceedings N2 - SQL-on-Hadoop processing engines have become state-of-the-art in data lake analysis. However, the skills required to tune such systems are rare. This has inspired automated tuning advisors which profile the query workload and produce tuning setups for the low-level MapReduce jobs. Yet with highly dynamic query workloads, repeated re-tuning costs time and money in IaaS environments. In this paper, we focus on reducing the costs for up-front tuning. At the heart of our approach is the observation that a SQL query is compiled into a query plan of MapReduce jobs. While the plans differ from query to query, single jobs tend to be similar between queries. We introduce the notion of the code signature of a MapReduce job and, based on this, our concept of job similarity. We show that we can effectively recycle tuning setups from similar MapReduce jobs already profiled. In doing so, we can leverage any third-party tuning adviser for MapReduce engines. We are able to show that by recycling tuning setups, we can reduce the time spent on profiling by 50% in the TPC-H benchmark. Y1 - 2019 U6 - https://doi.org/10.1007/978-3-030-33223-5_9 SP - 93 EP - 107 PB - Springer CY - Cham ER - TY - CHAP A1 - Scherzinger, Stefanie A1 - de Almeida, Eduardo Cunha A1 - Ickert, Felipe A1 - Del Fabro, Marcos Didonet T1 - On the necessity of model checking NoSQL database schemas when building SaaS applications T2 - Proceedings of the 2013 International Workshop on Testing the Cloud - TTC 2013 N2 - The design of the NoSQL schema has a direct impact on the scalability of web applications. Especially for developers with little experience in NoSQL stores, the risks inherent in poor schema design can be incalculable. Worse yet, the issues will only manifest once the application has been deployed, and the growing user base causes highly concurrent writes. In this paper, we present a model checking approach to reveal scalability bottlenecks in NoSQL schemas. Our approach draws on formal methods from tree automata theory to perform a conservative static analysis on both the schema and the expected write-behavior of users. We demonstrate the impact of schema-inherent bottlenecks for a popular NoSQL store, and show how concurrent writes can ultimately lead to a considerable share of failed transactions. Y1 - 2013 U6 - https://doi.org/10.1145/2489295.2489297 SP - 1 EP - 6 PB - ACM CY - New York, NY ER - TY - CHAP A1 - Mauerer, Wolfgang A1 - Klessinger, Stefan A1 - Scherzinger, Stefanie T1 - Beyond the badge: reproducibility engineering as a lifetime skill T2 - Proceedings 4th International Workshop on Software Engineering Education for the Next Generation SEENG 2022, 17 May 2022, Pittsburgh, PA, USA N2 - Ascertaining reproducibility of scientific experiments is receiving increased attention across disciplines. We argue that the necessary skills are important beyond pure scientific utility, and that they should be taught as part of software engineering (SWE) education. They serve a dual purpose: Apart from acquiring the coveted badges assigned to reproducible research, reproducibility engineering is a lifetime skill for a professional industrial career in computer science. SWE curricula seem an ideal fit for conveying such capabilities, yet they require some extensions, especially given that even at flagship conferences like ICSE, only slightly more than one-third of the technical papers (at the 2021 edition) receive recognition for artefact reusability. Knowledge and capabilities in setting up engineering environments that allow for reproducing artefacts and results over decades (a standard requirement in many traditional engineering disciplines), writing semi-literate commit messages that document crucial steps of a decision-making process and that are tightly coupled with code, or sustainably taming dynamic, quickly changing software dependencies, to name a few: They all contribute to solving the scientific reproducibility crisis, and enable software engineers to build sustainable, long-term maintainable, software-intensive, industrial systems. We propose to teach these skills at the undergraduate level, on par with traditional SWE topics. KW - reproducibility engineering KW - teaching software engineering Y1 - 2022 SN - 9781450393362 U6 - https://doi.org/10.1145/3528231.3528359 N1 - Preprint unter: https://doi.org/10.48550/arXiv.2203.05283 SP - 1 EP - 4 PB - ACM CY - New York, NY, USA ER - TY - CHAP A1 - Schönberger, Manuel A1 - Franz, Maja A1 - Scherzinger, Stefanie A1 - Mauerer, Wolfgang T1 - Peel | Pile? Cross-Framework Portability of Quantum Software T2 - 2022 IEEE 19th International Conference on Software Architecture Companion (ICSA-C), 12-15 March 2022, Honolulu, HI, USA N2 - In recent years, various vendors have made quantum software frameworks available. Yet with vendor-specific frameworks, code portability seems at risk, especially in a field where hardware and software libraries have not yet reached a consolidated state, and even foundational aspects of the technologies are still in flux. Accordingly, the development of vendor-independent quantum programming languages and frameworks is often suggested. This follows the established architectural pattern of introducing additional levels of abstraction into software stacks, thereby piling on layers of abstraction. Yet software architecture also provides seemingly less abstract alternatives, namely to focus on hardware-specific formulations of problems that peel off unnecessary layers. In this article, we quantitatively and experimentally explore these strategic alternatives, and compare popular quantum frameworks from the software implementation perspective. We find that for several specific, yet generalisable problems, the mathematical formulation of the problem to be solved is not just sufficiently abstract and serves as precise description, but is likewise concrete enough to allow for deriving framework-specific implementations with little effort. Additionally, we argue, based on analysing dozens of existing quantum codes, that porting between frameworks is actually low-effort, since the quantum- and framework-specific portions are very manageable in terms of size, commonly in the order of mere hundreds of lines of code. Given the current state-of-the-art in quantum programming practice, this leads us to argue in favour of peeling off unnecessary abstraction levels. KW - Computer Science KW - Quantum Physics KW - Software Engineering Y1 - 2022 U6 - https://doi.org/10.1109/ICSA-C54293.2022.00039 N1 - Preprint unter: https://arxiv.org/abs/2203.06289 PB - IEEE ER -