Transfer Learning for Improving Model Predictions in Highly Configurable Software
Authors:
- Pooyan JamshidiPJPooyan Jamshidi
- Miguel VelezMVMiguel Velez
- Christian KastnerCKChristian Kastner
- Norbert SiegmundNSNorbert Siegmund
- Prasad KawthekarPKPrasad Kawthekar
- 1 May 2017
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 31-41
Abstract
Modern software systems are built to be used in dynamic environments using configuration capabilities to adapt to changes and external uncertainties. In a self-adaptation context, we are often interested in reasoning about the performance of the systems under different configurations. Usually, we learn a black-box model based on real measurements to predict the performance of the system given a specific configuration. However, as modern systems become more complex, there are many configuration parameters that may interact and we end up learning an exponentially large configuration space. Naturally, this does not scale when relying on real measurements in the actual changing environment. We propose a different solution: Instead of taking the measurements from the real system, we learn the model using samples from other sources, such as simulators that approximate performance of the real system at low cost. We define a cost model that transform the traditional view of model learning into a multi-objective problem that not only takes into account model accuracy but also measurements effort as well. We evaluate our cost-aware transfer learning solution using real-world configurable software including (i) a robotic system, (ii) 3 different stream processing applications, and (iii) a NoSQL database system. The experimental results demonstrate that our approach can achieve (a) a high prediction accuracy, as well as (b) a high model reliability.Keywords
All Related Versions
This publication has 32 references indexed in Scilit:
- Performance-influence models for highly configurable systems2015
- Automated multi-objective control for self-adaptive software design2015
- Heterogeneous defect prediction2015
- Transfer learning in effort estimationEmpirical Software Engineering, 2014
- Localization and navigation of the CoBots over long-term deploymentsThe International Journal of Robotics Research, 2013
- Experience transfer for the configuration tuning in large scale computing systemsACM SIGMETRICS Performance Evaluation Review, 2009
- Automatic configuration of internet servicesACM SIGOPS Operating Systems Review, 2007
- Performance Prediction of Component-Based Systems2006
- Model-based performance prediction in software development: a surveyIEEE Transactions on Software Engineering, 2004
- The vision of autonomic computingComputer, 2003