Autor*innen mit den meisten Dokumenten
Neueste Veröffentlichungen
- ZeitschriftenartikelUnderstanding the Re-Engineering of Variant-Rich Systems: An Empirical Work on Economics, Knowledge, Traceability, and Practices(Softwaretechnik-Trends Band 42, Heft 2, 2022) Krüger, JacobMost modern software systems exist in different variants to address a variety of requirements, such as customer requests, regulations, or hardware restrictions. In this dissertation, we empirically study four closely related properties in the context of variant-rich systems, namely economics, knowledge, traceability, and practices. First, we contribute a rich dataset on the economics of (re-)engineering variant-rich systems, from which we derive the core insight that moving towards platform engineering (e.g., via more systematic clone management) is economically promising. Second, we contribute an understanding of developers memory and how to support their knowledge needs, leading to the core insight that expensive reco very activities can be mitigated by enforcing suitable documentation techniques (e.g., feature traceability). Third, we contribute insights on how different feature traces impact developers program comprehension, based on which our core insight is that feature traceabi lity should ideally be independent of configurability. Finally, we contribute a process model and recommendations on how to (re-)engineer variant-rich systems, with our core insight being that carefully planning and periodically assessing a variant-rich system helps to exploit its full potential (e.g., in terms of cost savings).
- ZeitschriftenartikelModel-Driven Development Methodology and DomainSpecific Languages for the Design of Artificial Intelligence in Cyber-Physical Systems(Softwaretechnik-Trends Band 42, Heft 2, 2022) Kusmenko, EvgenyThe development of intelligent and interconnected cyber-physical systems is an interdisciplinary challenge requiring appropriate processes, languages, and tools supporting the engineering team. In this dissertation a model-driven architecture-centric approach for intelligent CPS design is presented. The foundation of this methodology is given by the architecture description language EmbeddedMontiArc. It enables a structural decomposition of the software system under development into hierarchically organized components.
- ZeitschriftenartikelAnalyzing Code Corpora to Improve the Correctness and Reliability of Programs(Softwaretechnik-Trends Band 42, Heft 2, 2022) Patra, JibeshThe goal of the dissertation summarized here is to use program analysis and novel learning-based techniques to alleviate some of the challenges faced by developers while ensuring the correctness and reliability of programs. We focus on dynamically typed languages such as JavaScript and Python for their popularity and present six approaches that leverages analysis of code corpora in aiding to solve software engineering problems. We use static analysis to generate new programs, to seed bugs in programs, and to obtain data for training neural models. We present an effective technique called Generalized Tree Reduction algorithm (GTR), to reduce arbitrary test inputs that can be represented as a tree, such as program code, PDF files, and XML documents. The efficiency of input reduction is increased by learning transformations from a corpus of example data.
- ZeitschriftenartikelEvidence-driven Testing and Debugging of Software Systems(Softwaretechnik-Trends Band 42, Heft 2, 2022) Soremekun, EzekielThis article is a summary of the dissertation titled “Evidence-driven Testing and Debugging of Software Systems” submitted in April, 2021 for the degree Doctor of Engineering (Dr.-Ing.) in Soft ware Engineering at the Faculty of Mathematics and Computer Science, Saarland University, Germany. This dissertation proposes an evidence-driven approach to address several challenges in software testing and debugging. This work provides several empirical data and methods to guide researchers to build and evaluate testing and debugging aids. We have proposed a hybrid approach that synergistically combines the strengths of dynamic slicing and statistical debugging.
- ZeitschriftenartikelBuilding Transformation Networks for Consistent Evolution of Interrelated Models(Softwaretechnik-Trends Band 42, Heft 2, 2022) Klare, HeikoIn model-driven development, models and constitute central units of the development process, from which also parts of the program code can be derived. A common means to preserve consistency between models are transformations, which adapt the other models after one of them was changed. Existing research is focused on bidirectional transformations that preserve consistency between pairs of models. Actual software systems are, however, usually described with more than two models, and the languages used to specify them vary between projects. In this thesis, we research how developers can combine multiple transformations to a network that is able to execute these transformations in an order such that all resulting models are consistent. We consider the problem from a software engineer’s perspective and make the central assumption that each transformation between two languages is developed independently and that the transformations are not and cannot be aligned with each other, in order to support independent development and reuse. We base mathematically founded as well as empirical considerations from case studies on these assumptions. Our contributions are separated into those concerning the correctness and those concerning the optimization of quality properties of such a combination of transformations to a network.
- KonferenzbeitragMessung und Bewertung der Ergebnisse eines UI-Reengineerings im Bereich der Betreuung von demenzerkrankten PersonenStaab, Sergio; Martin, LudgerGegenstand der hier vorgestellten Arbeit ist die automatisierte Analyse der Benutzungsoberflächen einer Informations-, Abstimmungs-, Kommunikations- und Dokumentationsplattform für Pflegekräfte von demenzkranken Patienten. Die Analyse erfolgt über ein eigens entwickeltes Analysetool, welches auf vier unterschiedlichen Analyseverfahren aufbaut. Mittels Performance-, Nutzerinteraktions-, Aufwandsbasierter und Reaktionsanalyse werden Anforderungen und Probleme analysiert, die sich bei der Interaktion der Pflegekräfte mit der digitalen Betreeungsdokumentation ergeben. Darauf folgt ein Software-Reengineering der Betreuungsdokumentation zur Qualitäts- und Akzeptanzsteigerung für das Pflegepersonal. Des Weiteren werden die vorherigen Erkenntnisse mit der überarbeiteten Benutzungsoberfläche gegenübergestellt und das Konzept der Dialoggestaltung gebrauchstauglicher Systeme im Kontext der Pflege um den Grundsatz der Ambientefreiheit von Objekten erweitert.
- Konferenz-AbstractCall for Participation 25. Workshop Software-Reengineering &-Evolution WSRE 2023(Softwaretechnik-Trends Band 42, Heft 2, 2022) Quante, Jochen; Konersmann, Marco; Sauer, Stefan; Schilling, Daniela; Schulze, llingCall for Participation 25. Workshop Software-Reengineering &-Evolution WSRE 2023
- KonferenzbeitragDeriving Goals From Well-Known Industrial Cases of Product Line Engineering AdoptionFerreira, David Morais; Tenev, Vasil L.; Becker, MartinProduct Line Engineering (PLE) enables strategic reuse within an organization, allowing for a decrease in cost, improved time to market and higher product quality. While a wide variety of approaches have been developed to support reengineering activities in the context of change-intensive systems, choosing suitable approaches depends on what goals an organization wishes to fulfill. Therefore, the quality of these goals is vital to maximizing the potential benefits. Hence, this paper provides first insights into what drives the adoption of PLE, i. e. what goals companies typically identify to justify this transition, and attempts a first hierarchical overview of the aforementioned goals. To this end, we draw on well-known industrial cases from the Software Product Line Conference’s (SPLC) Hall of Fame.
- KonferenzbeitragJedes COBOL-Java- Migrationsprojekt birgt neue ÜberraschungenErdmenger, Uwe; Kaiser, UweDer Wunsch nach Modernisierung von Legacy-Software ist aktuell ungebrochen. Die toolgestützte Software Migration hat sich dabei als eine Technologie für diese Modernisierung etabliert. Werkzeuge für die Software Migration weisen heute einen beachtlichen Automatisierungsgrad auf. Der von pro et con entwickelte COBOL Java-Converter CoJaC konvertiert z.B. mehr als 90 % aller COBOL-Programme semantisch äquivalent nach Java. Der vorliegende Beitrag beschreibt ausgewählte Aspekte eines Migrationsprojektes bei der SüdLeasing GmbH. Das zu migrierende Legacy-System bein haltete 1.500 COBOL-Programme mit ca. 2,2 Millionen Codezeilen. Diese wurden mit CoJaC automatisiert nach Java konvertiert. Im Zielsystem ersetzt ein Spring-Boot Server die proprietäre Middleware des originalen Systems. Die Benutzeroberfläche bestand aus 1.300 ASCII orientierten Bildschirmmasken, welche über Messages mit den COBOL-Programmen kommunizierten. Die Maskenmigration war nicht Projektbestandteil. SüdLeasing entwickelte dafür mit Angular Weboberflächen identischer Funktionalität, welche an den Spring-Boot-Server angebunden wurden. Das Projekt wurde im geplanten Zeit raum abgeschlossen. Auch in diesem Migrationsprojekt existierten neue Herausforderungen, welche die aktuellen Migrationstechnologien und -werkzeuge noch nicht unterstützten. Dieser Beitrag beschreibt einige der teils unkon ventionellen Lösungen.
- KonferenzbeitragTowards Maintainable Resilient Production SystemsHansert, Jonas; Koch, Sandro; Wunderlich, Tim; Ihlenfeldt, Steffen; Schlegel, ThomasPredictable and unpredictable errors both pose threats to production systems and need to be addressed to avoid standstills, damages or even injuries. For this reason, we derive requirements for the structure of resilient production systems and propose an architecture to address these requirements. A decoupled interaction schema allows to reconfigure the compilation of the production system’s electrical and mechanical parts. The collaboration between its services enables the production system to automatically propose mitigation strategies in case of an unforeseen error. This is achieved by monitoring the process execution and extending the process models as well as the workflow engine to allow for dynamically addressing the executing components.