Auflistung P320 - Software Engineering 2022 nach Erscheinungsdatum
1 - 10 von 38
Treffer pro Seite
Sortieroptionen
- KonferenzbeitragSeamless Variability Management With the Virtual Platform (Summary)(Software Engineering 2022, 2022) Mahmood, Wardah; Strüber, Daniel; Berger, Thorsten; Lämmel, Ralf; Mukelabai, MukelabaiThis extended abstract summarizes our paper with the same title published at the main track of the International Conference of Software Engineering (ICSE) 2021.
- KonferenzbeitragDynamic Updates of Virtual PLCs deployed as Kubernetes Microservices(Software Engineering 2022, 2022) Koziolek, Heiko; Burger, AndreasIndustrial control systems (e.g. programmable logic control\-lers, PLC or distributed control systems, DCS) cyclically execute control algorithms to automated production processes. Nowadays, for many applications their deployment is moving from dedicated embedded controllers into more flexible container environments, thus becoming ''Virtual PLCs''. It is difficult to update such containerized Virtual PLCs during runtime by switching to a newer instance, which requires transferring internal state. Former research has only proposed dynamic update approaches for single embedded controllers, while other work introduced special Kubernetes (K8s) state replication approaches, which did not support cyclic real-time applications. We propose a dynamic update mechanism for Virtual PLCs deployed as K8s microservices. This approach is based on a purpose-built K8s Operator and allows control application updates without halting the production processes. Our experimental validation shows that the approach can support the internal state transfer of large industrial control applications (100.000 state variables) within only 15 percent of the available cycle slack time. Therefore, the approach creates vast opportunities for updating applications on-the-fly and migrating them between nodes in a cloud-native fashion.
- KonferenzbeitragHow Gamification Affects Software Developers: Cautionary Evidence from a Natural Experiment on GitHub(Software Engineering 2022, 2022) Moldon, Lukas; Strohmaier, Markus; Wachs, JohannesWe examine how the behavior of software developers changes in response to removing gamification elements from GitHub, an online platform for collaborative programming. We find that the unannounced removal of daily activity streak counters from the user profile pages was followed by significant changes in behavior. Long-running streaks of activity were abandoned and became less common. Weekend activity decreased and days in which developers made a single contribution became less common. Synchronization of streaking behavior in the platform’s social network also decreased, suggesting that gamification is a powerful channel for social influence. Software developers that were publicly pursuing a goal to make contributions for 100 days in a row abandon this quest following the removal of the streak counter. Our findings provide evidence for the significant impact of gamification on the behavior of developers. They urge caution: gamification can steer the behavior in unexpected and unwanted directions.
- KonferenzbeitragCollaborative Software Modeling in Virtual Reality(Software Engineering 2022, 2022) Yigitbas, Enes; Gorissen, Simon; Weidmann, Nils; Engels, GregorThis work has been published as a full paper at the MODELS'21 conference. Through collaborative modeling, end-users and experts can create a shared understanding of a system representation. While the Unified Modeling Language (UML) is one of the major conceptual modeling languages in object-oriented software engineering, more and more concerns arise from the modeling quality of UML and its tool-support. Among them, the limitation of the two-dimensional presentation of its notations and lack of natural collaborative modeling tools are reported to be significant. In this paper, we explore the potential of using Virtual Reality (VR) technology for collaborative UML software design by comparing it with classical collaborative software design using conventional devices (Desktop PC / Laptop). For this purpose, we have developed a VR modeling environment that offers a natural collaborative modeling experience for UML Class Diagrams. Based on a user study with 24 participants, we have compared collaborative VR modeling with conventional modeling with regard to efficiency, effectiveness, and user satisfaction. Results show that the use of VR has some disadvantages concerning efficiency and effectiveness, but the user’s fun, the feeling of being in the same room with a remote collaborator, and the naturalness of collaboration were increased.
- 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, GabrieleWe 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).
- KonferenzbeitragA Large-Scale Longitudinal Study of Flaky Tests(Software Engineering 2022, 2022) Lam, Wing; Winter, Stefan; Wei, Anjiang; Xie, Tao; Marinov, Darko; Bell, JonathanFlaky tests that non-deterministically pass or fail without any code changes constitute an impediment to regression testing. To understand when and how flaky tests can be detected most efficiently, we analyzed the commit histories of known flaky tests. We find that 75% of flaky tests are flaky when added, indicating substantial value for developers to run detectors specifically on newly added tests. The percentage of flaky tests that can be detected early increases to 85% when detectors are run on both newly added and directly modified tests.
- KonferenzbeitragExploring Architectural Design Decisions in Industry 4.0: A Literature Review and Taxonomy(Software Engineering 2022, 2022) Terzimehić, Tarik; Dorofeev, Kirill; Voss, SebastianPaper accepted in the Foundation Track of ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS), 2021. Architectural design decisions, such as service deployment and composition, plant layout synthesis, or production planning, are an indispensable and overarching part of an industrial manufacturing system design. In the fourth industrial revolution (Industry 4.0), frequent production changes trigger their synthesis, and preferably optimization. Yet, knowledge on architecture synthesis and optimization has been scattered around other domains, such as generic software engineering. We take a step towards synthesizing current knowledge on architectural design decisions in Industry 4.0. We developed a taxonomy describing architectural models, design decisions, and optimization possibilities. The developed taxonomy serves as a guideline for comparing different possibilities (e.g., application of different optimization algorithms) and selecting appropriate ones for a given context. Furthermore, we reviewed and mapped 30 relevant research works to the taxonomy, identifying research trends and gaps. We discuss interesting, and yet uncovered topics that emerged from our review.
- KonferenzbeitragIdentifying Challenges for OSS Vulnerability Scanners - A Study & Test Suite (Short Summary)(Software Engineering 2022, 2022) Dann, Andreas; Plate, Henrik; Hermann, Ben; Ponta, Serena Elisa; Bodden, EricThis short paper presents a study investigating the impact of typical development practices, like re-compilation, re-bundling, on the performance of vulnerability scanners to detect known vulnerabilities in used open-source dependencies. In particular, the paper studies (i) types of modifications that affect the detection of vulnerable open-source dependencies and (ii) their impact on the performance of vulnerability scanners through an empirical study on 7024 Java projects developed at SAP.
- KonferenzbeitragCiFi: Versatile Analysis of Class and Field Immutability(Software Engineering 2022, 2022) Roth, Tobias; Helm, Dominik; Reif, Michael; Mezini, MiraThis paper was accepted in 2021 at the 36th IEEE/ACM International Conference on Automated Software Engineering and proposes a model for immutability analysis. Reasoning about immutability is important for preventing bugs, e.g., in multi-threaded software. Static analysis to infer immutability properties has mostly focused on individual objects and references. Reasoning about fields and entire classes, while significantly simpler, has gained less attention. A consistently used terminology is missing, which makes it difficult to implement analyses that rely on immutability information. We propose a model for class and field immutability that unifies terminology for immutability flavors considered by previous work and covers new levels of immutability to handle lazy initialization and immutability dependent on generic type parameters. Using the OPAL static analysis framework, we implement CiFi, a set of modular, collaborating analyses for different flavors of immutability, inferring the properties defined in our model. We propose a benchmark of representative test cases for class and field immutability. We use the benchmark to showcase CiFi's precision and recall in comparison to state of the art and use CiFi to study the prevalence of immutability in real-world libraries, showcasing the practical quality and relevance of our model.
- KonferenzbeitragAn Empirical Study of Flaky Tests in Python(Software Engineering 2022, 2022) Gruber, Martin; Lukasczyk, Stephan; Kroiß, Florian; Fraser, GordonThis 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].