Focus
The group's research is organized into the following key areas, which are reflected in our projects and publications.
Fundamentals of Architecture: Patterns, Decisions, and Empirical Evidence
We develop foundational principles for software design and architecture, including patterns, architectural decision models, and traceability and metrics to link design intent to implementation and runtime data. Our work focuses on managing intellectual complexity through well-founded abstractions and empirically grounded guidance. In addition, we develop and apply empirical methods and conduct qualitative and quantitative studies to validate our concepts and approaches.
Distributed, Cloud-Native, and API-Centric Systems
We develop concepts and methods for distributed systems, including microservices, event-driven, and service-oriented architectures, focusing on API design, domain-driven design, and operational properties such as performance, reliability, scalability, and observability. For instance, our methods address modularity, coupling, data exposure, and change management across heterogeneous services and platforms.
Software Engineering for AI and AI for Software Engineering
We develop foundations, models, and metrics for AI/ML software architectures, including deep learning, reinforcement learning, agentic AI, and LLM-based architectures. A particular focus is on the continuous delivery of ML-based systems through MLOps. In addition, we are advancing AI for software engineering, e.g. through LLMs and agentic AI for repository mining, static analysis, code repair, and low-code generation.
Modern Software Delivery: CI/CD, DevOps, and MLOps
We develop systemic foundations, methods, and metrics for continuous delivery across software and ML lifecycles. Our work encompasses the design and optimization of CI/CD pipelines, performance engineering, security engineering, reliability and resilience analysis, as well as MLOps-specific aspects (e.g. data pipeline design or model versioning).
Architectural qualities: security, performance, resilience, scalability, and observability
We develop concepts, methods, metrics, compliance analyses, and repair methods for cross-cutting architectural qualities, including design-level security, performance engineering, resilience strategies, scalability patterns, and observability. Our methods link models with code and runtime data, enabling continuous validation across various domains (e.g. APIs, microservices, CI/CD, and data-intensive/AI-based systems).