Our extensive industrial collaboration enables us to do research with immediate application to software development practices in realistic settings.
Variability-Aware Performance Modeling and Prediction
Many software systems provide configuration options for users to tailor their functional behavior as well as non-functional properties (e.g., performance, cost, and energy consumption). Configuration options relevant to users are often called features. Each variant derived from a configurable software system can be represented as a selection of features, called a configuration.
Performance (e.g., response time or throughput) is one of the most important non-functional properties, because it directly affects user perception and cost. To find an optimal configuration to meet a specific performance goal, it is crucial for developers and IT administrators to understand the correlation between feature selections and performance.
We investigate a practical approach that mines such a correlation from a sample of measured configurations, specifies the correlation as an explicit performance prediction model, and then uses the model to predict the performance of other unmeasured configurations.
More details, implementation code, and experimental data are available on an open-source project website: http://cpm.googlecode.com.
Team Members
- Jianmei Guo (郭健美) (University of Waterloo, Canada)
- Krzysztof Czarnecki (University of Waterloo, Canada)
- Sven Apel (University of Passau, Germany)
- Norbert Siegmund (University of Passau, Germany)
- Andrzej Wąsowski (IT University of Copenhagen, Denmark)
- Sebastian Fischmeister (University of Waterloo, Canada)
- Augusto Born de Oliveira (University of Waterloo, Canada)
- Jean-Christophe Petkovich (University of Waterloo, Canada)
- Sergiy Kolesnikov (University of Passau, Germany)
- Pavel Valov (University of Waterloo, Canada)
- Atri Sarkar (University of Waterloo, Canada)
- Yi Zhang (University of Waterloo, Canada)