Zur Webseite der Informatik


Current Projects


Declarative Performance Engineering (Declare, 2016-2018)

Performance is of particular relevance to software system design, operation, and evolution because it has a major impact on key business indicators. Consequently, during the life-cycle of a software system, performance analysts continuously need to provide answers to and act on performance-relevant questions about response times, hardware utilization, bottlenecks, trends, anomalies, etc. Various established methods, techniques, and tools for modeling and
evaluating performance properties have been proposed, ranging from model-based prediction and optimization in early design phases, over measurement-based approaches in phases where implementations exist, up to solutions that continuously evaluate and control a system's performance during operation. However, particular challenges which hinder these techniques from being widely applied in practice include that it is hard to choose and to parameterize the various available approaches, as well as to filter and interpret the obtained results.

In DECLARE, the University of Stuttgart and the University of Würzburg will jointly address these challenges introducing a Declarative Performance Engineering approach. We envision to reduce the current abstraction gap between the level on which performance-relevant concerns are formulated and the level on which performance evaluations are actually executed. Performance queries and goals are formulated in a declarative modeling language. Performance evaluation methods, techniques, and tools are integrated into the DECLARE platform based on capability models and adapters, and are selected based on corresponding decision algorithms. We will experimentally and empirically evaluate the results using benchmark systems and based on a large-scale industrial application system. We build on our expertise in the area of combining model-based and measurement-based performance evaluation techniques, including preliminary results on Declarative Performance Engineering. DECLARE will be integrated into the second phase of the Priority Programme "Design for Future - Managed Software Evolution" (SPP 1593), including collaborations with other projects inside the SPP and by contributing to the SPP case studies, focusing on CoCoME.

Web site: http://www.dfg-spp1593.de/declare

Persons (University of Stuttgart):

Declare is sponsored by the German Research Foundation (DFG) under Grant No. HO 5721/1-1 and KO 3445/15-1.


Expert-guided Automatic Diagnosis of Performance Problems in Enterprise Applications (diagnoseIT, 2015-2017)

Quality attributes of enterprise software applications such as performance, availability, and reliability have a significant impact on business critical metrics of enterprises such as revenue and total cost of ownership. Application Performance Management (APM) processes and tools are often facilitated and integrated into the application lifecycle to monitor performance-relevant metrics of the enterprise applications (e.g., response time, throughput, or resource utilization). APM is a necessity to detect and solve performance problems early. Experience shows that comprehensive APM is seldom implemented in industry, resulting in an unsatisfying quality of enterprise applications and detection rate of performance problems. There are major reasons for the low adoption rate of APM: the initial setup and maintenance of APM is error-prone and requires a high manual effort and expertise.

In order to improve this situation, NovaTec Consulting GmbH and the University of Stuttgart (Reliable Software Systems Group) launched the collaborative research project diagnoseIT on “Expert-guided Automatic Diagnosis of Performance Problems in Enterprise Applications”. Formalized APM expert knowledge is used to systematically detect and diagnose performance problems. Therefore, diagnoseIT uses an APM-tool-independent approach to orchestrate available APM solutions, initially focusing on the open-source tools inspectIT and Kieker. diagnoseIT provides a goal-oriented root cause analysis, offering a starting point for problem resolution. The project results will be published under an open-source license.

Web site: http://diagnoseit.github.io/

Persons (University of Stuttgart):

diagnoseIT is sponsored by the German Federal Ministry of Education and Research under Grant No. 01IS15004.


Efficient Resilience Benchmarking of Microservice Architectures (Orcas, 2017-2020)

The microservice architectural style is gaining more and more prevalence when constructing complex, distributed systems. One of its guiding principles is design for failure, which means that a microservice is able to cope with failures of other microservices and its surrounding software/hardware infrastructure. This is achieved by employing architectural patterns such as circuit breaker and bulkhead. Resilience benchmarking aims to assess failure tolerance mechanisms—for instance, via fault injection. Meanwhile, resilience benchmarking is not only conducted in development and staging environments, but also during a system’s production use. Existing resilience benchmarks for microservice architectures are ad-hoc and based on randomly injected faults.

The Orcas project aims for efficient resilience benchmarking of microservice architectures. Resilience vulnerabilities shall be detected more efficiently, i.e., faster and with fewer resources, by incorporating architectural knowledge as well as knowledge about the relationship between performance/capacity/stability (anti) patterns and suitable injections. The approach builds on existing works on model-based and measurement-based dependability evaluation of component-based software systems.


Persons (University of Stuttgart):

Orcas is sponsored by the Baden-Württemberg Stiftung as part of the elite program for junior researchers.


Search Techniques for Managing Quality-Attribute Tradeoffs in Software Design Optimizations (SQuAT, 2015-2018)

Designing a software system in such a way that it meets the main quality-attribute requirements desired by the system stakeholders (e.g., performance, modifiability, reliability, among others) is a complex, challenging and error-prone activity, even for experienced software engineers. A factor that contributes to this complexity is the existence of multiple alternative solutions that satisfy the same requirements, making tradeoffs inevitable. This process can be seen as a search through a large design space, in which the solution space is n-dimensional and each dimension represents a different quality attribute to be optimized. Tool support is vital to assist engineers in exploring the design space and selecting “good-enough” solutions. Over the last years, several tools usually based on heuristic search techniques have been developed. This research has been focused on improving the tooling capabilities, but has paid less attention to the quality-attribute tradeoffs of the solutions.

In SQuAT, the University of Stuttgart and the Universidad Nacional del Centro de Buenos Aires (UNICEN) jointly investigate new semi-automated techniques for managing quality-attribute tradeoffs in software design optimizations, particularly focusing on i.) distributed search strategies, ii.) modularization of design knowledge, iii.) incorporation of user preferences and uncertainty, and iv.) application of negotiation techniques for managing quality-attribute tradeoffs.


SQuAT is sponsored by the German Federal Ministry of Education and Research under Grant No. 01DN15014.



Completed Projects

Bild EnsureENsurance of Software evolUtion by Run-time cErtification (ENSURE)

Quality attributes play an important role in different classes of software systems, e.g. safety in embedded systems and performance in business information systems. Currently, quality requirements are typically checked at design time. For evolving systems with changing environmental conditions this leads to the problem that the system may behave differently with respect to quality attributes than analyzed at design time. We propose to address this problem by developing a holistic model-driven approach, which treats quality evaluation models as first class entities. This approach uses dedicated model transformations to evolve quality evaluation models with structural and behavioral models. Furthermore, the models will be continuously updated with statistical monitoring techniques to estimate model parameters like usage profiles and failure rates. As a result of this approach, we will be able to certify software evolution steps with consistent models.

Ensure Webpage: http://www.dfg-spp1593.de/index.php?id=43 and


Relevant Research Outputs: Publications



Older Projects can be found here