- KonferenzbeitragA Survey on the Relevance of the Performance of Model Transformations(Software Engineering 2022, 2022) Groner, Raffaela; Juhnke, Katharina; Höppner, Stefan; Tichy, Matthias; Becker, Steffen; Vijayshree, Vijayshree; Frank, Sebastian; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasWhen we are confronted with performance issues in a general-purpose language, like Java, it is a given to us that we have various tools and techniques at our disposal to help us. But is such support also needed when using model transformation languages? To address this question, we conducted a quantitative online survey as part of a mixed methods study with 84 respondents to our questionnaire. Our results show that a certain performance is desired but not always achieved. The developers would like to improve the performance, but they lack insights on how a transformation is performed. As a first step to mitigate this issue, we compiled a list of information regarding the models used, the transformations applied and their execution deemed to be helpful by the participants. Additionally, we used hypotheses tests to investigate possible influencing factors that cause participants to try to improve the performance of transformations. The main relevant factors found in our study are the satisfaction with the execution time, the size of the models used, the relevance of whether a certain execution time is not exceeded in the average case, and the knowledge of how a transformation engine executes a transformation.
- KonferenzbeitragAn Empirical Study of Flaky Tests in Python(Software Engineering 2022, 2022) Gruber, Martin; Lukasczyk, Stephan; Kroiß, Florian; Fraser, Gordon; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasThis is a summary of our work presented at the International Conference on Software Testing 2021 [Gr21b]. Tests that cause spurious failures without code changes, i.e., flaky tests, hamper regression testing and decrease trust in tests. While the prevalence and importance of flakiness is well established, prior research focused on Java projects, raising questions about generalizability. To provide a better understanding of flakiness, we empirically study the prevalence, causes, and degree of flakiness within 22 352 Python projects containing 876 186 tests. We found flakiness to be equally prevalent in Python as in Java. The reasons, however, are different: Order dependency is a dominant problem, causing 59% of the 7 571 flaky tests we found. Another 28% were caused by test infrastructure problems, a previously less considered cause of flakiness. The remaining 13% can mostly be attributed to the use of network and randomness APIs. Unveiling flaky tests also requires more runs than often assumed: A 95% confidence that a passing test is not flaky on average would require 170 reruns. Additionally, through our investigations, we created a large dataset of flaky tests that other researchers already started building on [MM21; Ni21].
- KonferenzbeitragAn Evolutionary Analysis of Software-Architecture Smells(Software Engineering 2022, 2022) Gnoyke, Philipp; Schulze, Sandro; Krüger, Jacob; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasThis paper was published in the proceedings of the 37th International Conference on Software Maintenance and Evolution (ICSME 2021). If software quality assurance is postponed or abandoned for a software system, maintenance and evolution become harder or impossible. One symptom for the degradation of system quality are Architecture Smells (ASs), which violate fundamental principles of software design. We present a study on the evolution of ASs, including how and when they foster system degradation. This provides valuable insights regarding what ASs are meaningful to assure system quality. To this end, we analyzed the evolution of three types of ASs in 14 open-source systems, with 485 versions in total. We adapted previously used indicators to assess the severity of ASs (e.g., growth, lifetime), and relate ASs to technical debt. Our results indicate that 1) ASs remain mostly stable compared to the code size of a system, 2) certain types of ASs, such as cyclic dependencies, have a greater impact on system degradation, and 3) certain properties determine how much an AS contributes to software degradation. These findings are valuable for practitioners to identify and tackle system degeneration. Moreover, they help researchers to scope new research on managing ASs and technical debt.
- KonferenzbeitragIdentifying Domain-Based Cyclic Dependencies in Microservice APIs Using Source Code Detectors(Software Engineering 2022, 2022) Genfer, Patric; Zdun, Uwe; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasIsolation, autonomy, and loose coupling are critical success factors of microservice architectures, but unfortunately, systems tend to become strongly coupled over time and sometimes even exhibiting cyclic communication chains. These cycles can even manifest on a conceptual or domain level, making them hard to track for algorithms that rely solely on static analysis. Accordingly, previous attempts to detect cycles either focused on synchronous communication or had to collect additional runtime data, which can be costly and time-consuming. We suggest a novel approach for identifying and evaluating domain-based cyclic dependencies in microservice systems based on modular, reusable source code detectors. Based on the architecture model reconstructed by our detectors, we derived a set of architectural metrics for identifying and classifying domain-based cyclical dependencies. By conducting two case studies on open-source microservice architectures, we validated the feasibility and applicability of our approach.
- KonferenzbeitragA Precedence-Driven Approach for Concurrent Model Synchronization Scenarios using Triple Graph Grammars(Software Engineering 2022, 2022) Fritsche, Lars; Kosiol, Jens; Möller, Adrian; Schürr, Andy; Taentzer, Gabriele; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasWe summarize our paper A Precedence-Driven Approach for Concurrent Model Synchronization Scenarios using Triple Graph Grammars that has been published in the proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2020).
- KonferenzbeitragSoftware Engineering 2022 - Komplettband(Software Engineering 2022, 2022) Grunske, Lars; Siegmund, Janet; Vogelsang, Andreas
- KonferenzbeitragThree Major Instructional Approaches for Requirements Engineering(Software Engineering 2022, 2022) Daun, Marian; Grubb, Alicia M.; Tenbergen, Bastian; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasIn this talk, we report on our findings from the paper A Survey of Instructional Approaches in the Requirements Engineering Education Literature, which has been accepted at and published in the proceedings of the 2021 IEEE International Conference on Requirements Engineering. The paper reports the findings of a systematic literature review to define and investigate the current state of research on requirements engineering education.
- Konferenzbeitrag19th Workshop on Automotive Software Engineering (ASE'22)(Software Engineering 2022, 2022) Dörr, Heiko; Helke, Steffen; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasSoftware based systems play an increasingly important role and enable most of the innovations in modern cars. This workshop deals with various topics related to the development of automotive software and discusses suitable methods, techniques, and tools necessary to master the most current challenges researchers and practitioners are facing.
- Konferenzbeitrag4th Workshop on Avionics Systems and Software Engineering (AvioSE'22)(Software Engineering 2022, 2022) Annighöfer, Björn; Schweiger, Andreas; Reich, Marina; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasSoftware and systems engineering in aerospace is subject to special challenges. The AvioSE'22 workshop connects academia and industry with selected scientific presentations, motivating keynote talks, and an interactive panel discussion.
- KonferenzbeitragWorkshop on Software Engineering in Cyber-Physical Production Systems (SECPPS), 2nd Edition(Software Engineering 2022, 2022) Rabiser, Rick; Vogel-Heuser, Birgit; Wimmer, Manuel; Wortmann, Andreas; Zoitl, Alois; Grunske, Lars; Siegmund, Janet; Vogelsang, AndreasThis workshop focuses on Software Engineering in Cyber-Physical Production Systems (SECPPS). SECPPS is an interactive workshop opened by keynotes and lightning talks, followed by project showcase presentations, and concluded by extensive discussions in break-out groups. The main output of SECPPS 2022 is an updated research roadmap as well as concrete networking activities to further grow the community in this interdisciplinary field.