- KonferenzbeitragEditing Support for Software Languages: Implementation Practices in Language Server Protocols (Summary)(Software Engineering 2023, 2023) Barros, Djonathan; Peldszus, Sven; Assunção, Wesley K. G.; Berger, Thorsten; Engels, Gregor; Hebig, Regina; Tichy, MatthiasWe present our paper published at the 25th International Conference on Model Driven Engineering Languages and Systems (MODELS) [Ba22a]. Effectively using software languages requires effective editing support. Modern IDEs, modeling tools, and code editors typically provide sophisticated support to create, comprehend, or modify instances of particular languages. Unfortunately, building such editing support is challenging. While the engineering of languages is well understood and supported by modern model-driven techniques, there is a lack of engineering principles and best practices for realizing their editing support. We study practices for implementing editing support in so-called language servers—implementations of the language server protocol (LSP). LSP is a recent de facto standard to realize editing support for languages, separated from the editing tools, enhancing the reusability and quality of the editing support. Witnessing the LSP’s popularity, we take this opportunity to analyze the implementations of 30 language servers. We identify concerns that developers need to take into account when developing editing support, and we synthesize implementation practices to address them, based on a systematic analysis of the servers’ source code. We hope that our results shed light on an important technology for software language engineering, that facilitates language-oriented programming and systems development, including model-driven engineering.
- KonferenzbeitragComponent-based CEGAR - Building Software Verifiers from Off-the-Shelf Components(Software Engineering 2023, 2023) Beyer, Dirk; Haltermann, Jan; Lemberger, Thomas; Wehrheim, Heike; Engels, Gregor; Hebig, Regina; Tichy, MatthiasSoftware verification tools typically consist of tighly coupled components, thereby precluding the easy integration of off-the-shelf components. We propose to decompose software verification into independent subtasks, each task being implemented by an own component communicating with other components via clearly defined interfaces. We apply this idea of decomposition to one of the most frequently used techniques in software verification: CEGAR. Our decomposition, called component-based CEGAR (C-CEGAR), comprises three components: An abstract model explorer, a feasibility checker and a precision refiner. It allows employing conceptually different components for each task within one instance. Our evaluation shows that C-CEGAR has, compared to a monolithic CEGAR-implementation, a similar efficiency and that the precision in solving verification tasks even increases.
- KonferenzbeitragSynthesizing of Process-Aware Digital Twin Cockpits from Event Logs(Software Engineering 2023, 2023) Bano, Dorina; Michael, Judith; Rumpe, Bernhard; Varga, Simon; Weske, Mathias; Engels, Gregor; Hebig, Regina; Tichy, MatthiasIn this work, we summarize our article “Process-Aware Digital Twin Cockpit Synthesis from Event Logs” published in the Journal of Computer Languages (COLA). The engineering of digital twins and their user interfaces with explicated processes, namely process-aware digital twin cockpits (PADTCs), is challenging due to the complexity of the systems and the need for information from different disciplines within the engineering process. Therefore, we have investigated how to facilitate their engineering by using already existing data, namely event logs. We present a low-code development approach that reduces the amount of hand-written code needed to derive PADTCs using process mining techniques. We describe what models could be derived from event log data, which generative steps are needed for the engineering of PADTCs, and how process mining could be incorporated into the resulting application. A PADTC prototype is created based on the MIMIC III dataset, which simulates an automated hospital transportation system. Initially, our approach requires no hand-written code and empowers the domain expert to iteratively create PADTC prototypes.
- KonferenzbeitragSoftware Engineering 2023 - kompletter Tagungsband(Software Engineering 2023, 2023) Engels, Gregor; Hebig, Regina; Tichy, Matthias
- Konferenzbeitrag5th Workshop on Avionics Systems and Software Engineering (AvioSE’23)(Software Engineering 2023, 2023) Annighoefer, Bjoern; Schweiger, Andreas; Poulaine, Stéphane; Engels, Gregor; Hebig, Regina; Tichy, MatthiasSystems and software engineering in aerospace is subject to special challenges. For their resolution the AvioSE’23 workshop connects academia and industry with selected scientific presentations of high quality, motivating keynote talks, and an interactive panel discussion.
- Konferenzbeitrag20th Workshop on Automotive Software Engineering (ASE’23)(Software Engineering 2023, 2023) Kugele, Stefan; Grunske, Lars; Engels, Gregor; Hebig, Regina; Tichy, MatthiasSoftware-based systems play an increasingly important role and enable most innovations in modern cars. This workshop will address various topics related to automotive software development. The participants will discuss appropriate methods, techniques, and tools needed to address the most current challenges for researchers and practitioners.
- KonferenzbeitragPeer-Reviewing and Submission Dynamics Around Top Software-Engineering Venues: A Juniors’ Perspective(Software Engineering 2023, 2023) Alchokr, Rand; Krüger, Jacob; Shakeel, Yusra; Saake, Gunter; Leich, Thomas; Engels, Gregor; Hebig, Regina; Tichy, MatthiasResearch is an intrinsically challenging process full of obstacles. However, these obstacles may be more dominant for a specific group of researchers (such as junior researchers) compared to others. It is the responsibility of the community to pay close attention to those groups that may be struggling for unfair reasons and provide necessary support. Junior researchers are of high importance to the scientific community, and are defined as young researchers who have recently started their research career[ Li19]. Despite their importance, juniors may face impediments when starting their career that hinder their activities and motivation. For instance, collaboration aspects and peer-reviewing models can play a role. Junior researchers without a high reputation (e.g., via their co-authors) may be negatively impacted by reputation biases, and thus could have even more problems with publishing and building their reputation independently. In our study, we investigate what challenges junior researchers perceive when submitting their work to software-engineering venues with a high reputation.
- KonferenzbeitragDeepHyperion: Exploring the Feature Space of Deep Learning-based Systems through Illumination Search(Software Engineering 2023, 2023) Zohdinasab, Tahereh; Riccio, Vincenzo; Gambi, Alessio; Tonella, Paolo; Engels, Gregor; Hebig, Regina; Tichy, MatthiasWe report about recent research on satisfiability solving for variational domains, originally published in 2022 in the Empirical Software Engineering Journal (EMSE) within the special issue on configurable systems[ Yo22]. Incremental SAT solving is an extension of classic SAT solving that enables solving a set of related SAT problems by identifying and exploiting shared terms. However, using incremental solvers effectively is hard since performance is sensitive to the input order of subterms and results must be tracked manually. This paper translates the ordering problem to an encoding problem and automates the use of incremental solving. We introduce variational SAT solving, which differs from incremental solving by accepting all related problems as a single variational input and returning all results as a single variational output. Variational SAT solving automates the interaction with the incremental solver and enables a method to automatically optimize sharing in the input. We formalize a variational SAT algorithm, construct a prototype variational solver, and perform an empirical analysis on two real-world datasets that applied incremental solvers to software evolution scenarios. We show that the prototype solver scales better for these problems than four off-the-shelf incremental solvers while also automatically tracking individual results.
- KonferenzbeitragAnforderungsmanagement in Enterprise Systems-Projekten(Software Engineering 2023, 2023) Weiss, Christoph; Keckeis, Johannes; Engels, Gregor; Hebig, Regina; Tichy, Matthias
- KonferenzbeitragPreventing technical debt with the TAP framework for Technical Debt Aware Management(Software Engineering 2023, 2023) Wiese, Marion; Rachow, Paula; Riebisch, Matthias; Schwarze, Julian; Engels, Gregor; Hebig, Regina; Tichy, MatthiasThe talk is based on an article published in the Information and Software Technology journal in 2022 [Wi22]. Technical Debt (TD) is a metaphor for technical problems that are not visible to users and customers but hinder developers in their work, making future changes more difficult. TD is often incurred due to tight project deadlines. Furthermore, project management usually focuses on customer benefits and pays less attention to their IT systems’ internal quality. We present a framework focusing on TD prevention and repayment in agile-managed projects. The framework was developed and applied in an IT unit of a publishing house. It includes a feasible method for TD prevention despite tight timelines by making TD repayment part of project management. We evaluated this framework in a comparative case study based on ticket statistics and two structured surveys targeting team members and IT managers. In the observed IT unit, the TAP framework raises awareness for the incurrence of TD. Decisions to incur TD are intentional, and TD is repaid timelier. Unintentional TD incurred by unconscious decisions is prevented. Furthermore, better communication and better planning of the project pipeline can be observed.