Logo des Repositoriums
 

P320 - Software Engineering 2022

Autor*innen mit den meisten Dokumenten  

Auflistung nach:

Neueste Veröffentlichungen

1 - 10 von 38
  • Konferenzbeitrag
    An Empirical Study of Flaky Tests in Python
    (Software Engineering 2022, 2022) Gruber, Martin; Lukasczyk, Stephan; Kroiß, Florian; Fraser, Gordon
    This 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].
  • Konferenzbeitrag
    A 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
    When 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.
  • Konferenzbeitrag
    A 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
    We 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).
  • Konferenzbeitrag
    An Evolutionary Analysis of Software-Architecture Smells
    (Software Engineering 2022, 2022) Gnoyke, Philipp; Schulze, Sandro; Krüger, Jacob
    This 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.
  • Konferenzbeitrag
    Identifying Domain-Based Cyclic Dependencies in Microservice APIs Using Source Code Detectors
    (Software Engineering 2022, 2022) Genfer, Patric; Zdun, Uwe
    Isolation, 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.
  • Konferenzbeitrag
    Three Major Instructional Approaches for Requirements Engineering
    (Software Engineering 2022, 2022) Daun, Marian; Grubb, Alicia M.; Tenbergen, Bastian
    In 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.
  • Konferenzbeitrag
    Software Engineering 2022 - Komplettband
    (Software Engineering 2022, 2022)
  • Konferenzbeitrag
    Enhancing Human-in-the-Loop Adaptive Systems through Digital Twins and VR Interfaces
    (Software Engineering 2022, 2022) Yigitbas, Enes; Karakaya, Kadiray; Jovanovikj, Ivan; Engels, Gregor
    This work has been published as a full paper at SEAMS'21. In the context of self-adaptive systems, there are situations where human involvement in the adaptation process is beneficial or even necessary. For such ''human-in-the-loop'' adaptive systems, two major challenges, namely transparency, and controllability must be addressed to include the human in the self-adaptation loop. Transparency covers the context information about the adaptive system and its context while controllability targets the decision-making and adaptation operations. As existing human-in-the-loop adaptation approaches do not fully cover these aspects, we investigate alternative human-in-the-loop strategies by using a combination of digital twins and virtual reality (VR) interfaces. Based on the concept of the digital twin, we represent a self-adaptive system and its respective context in a virtual environment. For integrating the human in the decision-making and adaptation process, we have implemented and analyzed two different human-in-the-loop strategies in VR: a procedural control where the human can control the decision making-process and adaptations through VR interactions and a declarative control where the human specifies the goal state and the configuration is delegated to an AI planner. We evaluate our approach based on an autonomic robot system that is accessible through a VR interface.
  • Konferenzbeitrag
    Requirement Management in Enterprise Systems Projects (AESP'22)
    (Software Engineering 2022, 2022) Weiss, Christoph; Keckeis, Johannes
    ERP systems and other enterprise systems are the backbone of any company in a digitized world. Besides enterprise systems driven requirements companies often face additional organizational requirements and challenges during enterprise systems projects like evaluating, implementing or improving.
  • Konferenzbeitrag
    19th Workshop on Automotive Software Engineering (ASE'22)
    (Software Engineering 2022, 2022) Dörr, Heiko; Helke, Steffen
    Software 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.