Pervolution
DFG-project 'Pervolution': Evolution of Software-Performance

Software systems today are so complex that even developers have lost sight of their performance. The DFG project 'Pervolution' aims at changing that: The computer scientist Prof. Dr. Sven Apel (University of Passau) and Prof. Norbert Siegmund (Bauhaus University Weimar) will develop an approach that will allow reliable forecasts for individually tailored systems.
The hourglass pops up on the screen - nothing works anymore, including finishing the urgent presentation. A suboptimal software performance quickly leads to irritation among the users. A team led by Sven Apel, Professor of Software Engineering I at the University of Passau, and Prof. Norbert Siegmund, Professor of Intelligent Software Systems at the Bauhaus University Weimar, will develop an approach to predict and prevent such performance breakdowns. It is designed to help software developers keep track of which configuration options have an influence on performance and how and which combinations of options cause performance interactions. The approach goes even further: A combination of program analyses and methods of machine learning should allow forecasts for future performance. The project is funded by the German Research Foundation (DFG).
Meaning of performance
Performance can have different meanings to different users. In one setting, it may describe the response time behaviour, that is, the speed at which the system can process certain user actions, in another, it may describe how many queries a database can respond to per second. Almost every complex software system today is configurable. Configuration options allow users to tailor a system according to their requirements. 'A key non-functional requirement is performance', explains Professor Apel. However, users and even domain experts often lack a precise understanding of which configuration options have an influence on performance and how and which combinations of options cause performance interactions. For example, the number of configuration options has nearly doubled in the Linux kernel (x86), starting from 3284 in release 12 to 6319 in release 32; the increase for the Apache Web server has been from 150 options in 1998 to nearly 600 options in 2014. 'Identifying the options and interactions among them that are critical for performance becomes infeasible in such scenarios', says Professor Apel. Without a proper representation of the evolution of the performance influence of configuration options and their interactions, developers have to start from scratch, again and again, to identify performance bugs, performance-optimal configurations, and to build an understanding of the performance behavior of the system.
Performance-Aware Evolution
In the project 'Pervolution' the team of Professor Apel and Professor Siegmund will develop an approach to facilitate performance-aware evolution of complex, configurable systems, by tracking down evolutionary performance changes and by providing development guidelines based on extracted performance-evolution patterns. The team wants to provide insights into the performance evolution of configuration options and their interactions, so that developers can reason about their decisions about the system’s configurability during software evolution, in the light of the changed performance behavior. The researchers will use a unique combination of techniques to tame the exponential complexity of the problem and provide practical solutions: They take into account the dimension of system variability and development time. 'Technically, we will use performance-influence models that capture the influences of configuration options as well as of their interactions on performance, using a unique combination of machine-learning techniques, sampling heuristics, and experimental designs', states Professor Apel.
Participants and duration
Prof. Dr. Sven Apel, Professor of Software Engineering I at the University of Passau, and Prof. Norbert Siegmund, Professor of Intelligent Software Systems, are the principle investigators of the project. The term of the project is three years.
Principal Investigator(s) at the University | Prof. Dr. Sven Apel (Lehrstuhl für Software Engineering I) |
---|---|
Project period | 01.10.2017 - 30.09.2020 |
Source of funding | ![]() DFG - Deutsche Forschungsgemeinschaft > DFG - Sachbeihilfe |
Themenfelder | Informatik, Informatik allgemein |