Ernst Denert Award for Software Engineering 2019


Book Description

This open access book provides an overview of the dissertations of the five nominees for the Ernst Denert Award for Software Engineering in 2019. The prize, kindly sponsored by the Gerlind & Ernst Denert Stiftung, is awarded for excellent work within the discipline of Software Engineering, which includes methods, tools and procedures for better and efficient development of high quality software. An essential requirement for the nominated work is its applicability and usability in industrial practice. The book contains five papers describing the works by Sebastian Baltes (U Trier) on Software Developers’Work Habits and Expertise, Timo Greifenberg’s thesis on Artefaktbasierte Analyse modellgetriebener Softwareentwicklungsprojekte, Marco Konersmann’s (U Duisburg-Essen) work on Explicitly Integrated Architecture, Marija Selakovic’s (TU Darmstadt) research about Actionable Program Analyses for Improving Software Performance, and Johannes Späth’s (Paderborn U) thesis on Synchronized Pushdown Systems for Pointer and Data-Flow Analysis – which actually won the award. The chapters describe key findings of the respective works, show their relevance and applicability to practice and industrial software engineering projects, and provide additional information and findings that have only been discovered afterwards, e.g. when applying the results in industry. This way, the book is not only interesting to other researchers, but also to industrial software professionals who would like to learn about the application of state-of-the-art methods in their daily work.




Building Transformation Networks for Consistent Evolution of Interrelated Models


Book Description

Complex software systems are described with multiple artifacts, such as code, design diagrams and others. Ensuring their consistency is crucial and can be automated with transformations for pairs of artifacts. We investigate how developers can combine independently developed and reusable transformations to networks that preserve consistency between more than two artifacts. We identify synchronization, compatibility and orchestration as central challenges, and we develop approaches to solve them.




Software Architecture


Book Description

This book constitutes the refereed proceedings of the tracks and workshops which complemented the 14th European Conference on Software Architecture, ECSA 2020, held in L'Aquila, Italy*, in September 2020. The 30 full papers and 9 short papers presented in this volume were carefully reviewed and selected from 72 submissions. Papers presented were accepted into the following tracks and workshops: ECSA 2020 Doctoral Symposium track; ECSA 2020 Tool Demos track; ECSA 2020 Gender Diversity in Software Architecture &Software Engineering track; CASA - 3rd International Workshop on Context-aware, Autonomous and Smart Architecture; CSE/QUDOS - Joint Workshop on Continuous Software Engineering and Quality-Aware DevOps; DETECT - 3rd International Workshop on Modeling, Verication and Testing of Dependable Critical Systems; FAACS-MDE4SA - Joint Workshop on Formal Approaches for Advanced Computing Systems and Model-Driven Engineering for Software Architecture; IoT-ASAP - 4th International Workshop on Engineering IoT Systems: Architectures, Services, Applications, and Platforms; SASI4 - 2nd Workshop on Systems, Architectures, and Solutions for Industry 4.0; WASA - 6th International Workshop on Automotive System/Software Architecture. *The conference was held virtually due to the COVID-19 pandemic.







Architecture-based Evolution of Dependable Software-intensive Systems


Book Description

This cumulative habilitation thesis, proposes concepts for (i) modelling and analysing dependability based on architectural models of software-intensive systems early in development, (ii) decomposition and composition of modelling languages and analysis techniques to enable more flexibility in evolution, and (iii) bridging the divergent levels of abstraction between data of the operation phase, architectural models and source code of the development phase.




Model-Based Performance Prediction for Concurrent Software on Multicore Architectures---A Simulation-Based Approach


Book Description

Die modellbasierte Performancevorhersage ist ein bekanntes Konzept zur Gewährleistung der Softwarequalität. Derzeitige Ansätze basieren auf einem Modell mit einer Metrik, was zu ungenauen Vorhersagen für moderne Architekturen führt. In dieser Arbeit wird ein Multi-Strategie-Ansatz zur Erweiterung von Performancevorhersagemodellen zur Unterstützung von Multicore-Architekturen vorgestellt, in Palladio implementiert und dadurch die Genauigkeit der Vorhersage deutlich verbessert. - Model-based performance prediction is a well-known concept to ensure the quality of software. Current approaches are based on a single-metric model, which leads to inaccurate predictions for modern architectures. This thesis presents a multi-strategies approach to extend performance prediction models to support multicore architectures. We implemented the strategies into Palladio and significantly increased the performance prediction power.




Specification Languages for Preserving Consistency between Models of Different Languages


Book Description

When complex IT systems are being developed, the usage of several programming and modelling languages can lead to inconsistencies that yield faulty designs and implementations. To address this problem, this work contributes a classification of consistency preservation challenges and an approach for preserving consistency. It is formalized using set theory and monitors changes to avoid matching and diffing problems. Three new languages that follow this preservation approach are presented.




Automated Improvement of Software Architecture Models for Performance and Other Quality Attributes


Book Description

Quality attributes, such as performance or reliability, are crucial for the success of a software system and largely influenced by the software architecture. Their quantitative prediction supports systematic, goal-oriented software design and forms a base of an engineering approach to software design. This thesis proposes a method and tool to automatically improve component-based software architecture (CBA) models based on such quantitative quality prediction techniques.