[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1109/SEAMS.2017.11acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Transfer learning for improving model predictions in highly configurable software

Published: 20 May 2017 Publication History

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.

References

[1]
Online appendix: https://github.com/pooyanjamshidi/transferlearning.
[2]
I. D. P. Anaya, V. Simko, J. Bourcier, N. Plouzeau, and J.-M. Jézéquel. A prediction-driven adaptation approach for self-adaptive sensor networks. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), pages 145--154. ACM, 2014.
[3]
M. Artač, editor. Deliverable 5.2: DICE delivery tools-Intermediate version. 2017. http://www.dice-h2020.eu/.
[4]
S. Balsamo, A. Di Marco, P. Inverardi, and M. Simeoni. Model-based performance prediction in software development: A survey. IEEE Transactions on Software Engineering (TSE), 30(5):295--310, 2004.
[5]
S. Becker, L. Grunske, R. Mirandola, and S. Overhage. Performance prediction of component-based systems. In Architecting Systems with Trustworthy Components, pages 169--192. Springer, 2006.
[6]
B. R. Binger and E. Hoffman. Microeconomics with calculus. W. W. Norton and Company, 1988.
[7]
J. Biswas and M. M. Veloso. Localization and navigation of the CoBots over long-term deployments. The International Journal of Robotics Research (IJRR), 32(14):1679--1694, 2013.
[8]
B. Bodin, L. Nardi, M. Z. Zia, H. Wagstaff, G. Sreekar Shenoy, M. Emani, J. Mawer, C. Kotselidis, A. Nisbet, M. Lujan, B. Franke, P. H. Kelly, and M. O'Boyle. Integrating algorithmic parameters into benchmarking and design space exploration in 3D scene understanding. In Proceedings of the International Conference on Parallel Architectures and Compilation (PACT), pages 57--69. ACM, 2016.
[9]
H. Chen, W. Zhang, and G. Jiang. Experience transfer for the configuration tuning in large scale computing systems. SIGMETRICS, 37(2):51--52, 2009.
[10]
B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears. Benchmarking cloud serving systems with YCSB. In Proc. of Symposium on Cloud Computing (SOCC). ACM, 2010.
[11]
R. de Lemos, H. Giese, H. A. Müller, M. Shaw, J. Andersson, M. Litoiu, B. Schmerl, G. Tamura, N. M. Villegas, T. Vogel, D. Weyns, L. Baresi, B. Becker, N. Bencomo, Y. Brun, B. Cukic, R. Desmarais, S. Dustdar, G. Engels, K. Geihs, K. M. Göschka, A. Gorla, V. Grassi, P. Inverardi, G. Karsai, J. Kramer, A. Lopes, J. Magee, S. Malek, S. Mankovskii, R. Mirandola, J. Mylopoulos, O. Nierstrasz, M. Pezzè, C. Prehofer, W. Schäfer, R. Schlichting, D. B. Smith, J. P. Sousa, L. Tahvildari, K. Wong, and J. Wuttke. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II, pages 1--32. Springer, 2013.
[12]
J. Ehlers, A. van Hoorn, J. Waller, and W. Hasselbring. Self-adaptive software system monitoring for performance anomaly localization. In Proceedings of the 8th ACM International Conference on Autonomic Computing (ICAC), pages 197--200. ACM, 2011.
[13]
A. Elkhodary, N. Esfahani, and S. Malek. Fusion: A framework for engineering self-tuning self-adaptive software systems. In Proceedings of the eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE), pages 7--16. ACM, 2010.
[14]
N. Esfahani, A. Elkhodary, and S. Malek. A learning-based framework for engineering feature-oriented self-adaptive software systems. IEEE Transactions on Software Engineering (TSE), 39(11):1467--1493, 2013.
[15]
A. Filieri, H. Hoffmann, and M. Maggio. Automated multi-objective control for self-adaptive software design. In 10th Joint Meeting on Foundations of Software Engineering (FSE), pages 13--24. ACM, 2015.
[16]
A. Ghazal, T. Rabl, M. Hu, F. Raab, M. Poess, A. Crolotte, and H.-A. Jacobsen. BigBench: Towards an industry standard benchmark for big data analytics. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data, pages 1197--1208. ACM, 2013.
[17]
H. Gomaa and M. Hussein. Model-based software design and adaptation. In Proceedings of the 2007 International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), page 7. IEEE Computer Society, 2007.
[18]
J. Guo, K. Czarnecki, S. Apel, N. Siegmund, and A. Wasowski. Variability-aware performance prediction: A statistical learning approach. In Proceedings of the IEEE/ACM 28th International Conference on Automated Software Engineering (ASE), pages 301--311, 2013.
[19]
J. Happe, H. Koziolek, and R. Reussner. Facilitating performance predictions using software components. IEEE Software, 28(3):27, 2011.
[20]
N. Huber, F. Brosig, S. Spinner, S. Kounev, and M. Bahr. Model-based self-aware performance and resource management using the Descartes modeling language. IEEE Transactions on Software Engineering, 2017.
[21]
P. Jamshidi and G. Casale. An uncertainty-aware approach to optimal configuration of stream processing systems. In IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), pages 39--48, 2016.
[22]
P. Jamshidi, C. Pahl, and N. C. Mendonça. Managing uncertainty in autonomic cloud elasticity controllers. IEEE Cloud Computing, 3(3):50--60, 2016.
[23]
P. Jamshidi, A. Sharifloo, C. Pahl, H. Arabnejad, A. Metzger, and G. Estrada. Fuzzy self-learning controllers for elasticity management in dynamic cloud architectures. In 12th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA), pages 70--79. IEEE, 2016.
[24]
P. Kawthekar and C. Kästner. Sensitivity analysis for building evolving & adaptive robotic software. In IJCAI Workshop on Autonomous Mobile Service Robots, 2016.
[25]
J. O. Kephart and D. M. Chess. The vision of autonomic computing. Computer, 36(1):41--50, 2003.
[26]
E. Kocaguneli, T. Menzies, and E. Mendes. Transfer learning in effort estimation. Empirical Software Engineering, 20(3):813--843, 2015.
[27]
R. Krishna, T. Menzies, and W. Fu. Too much automation? The bellwether effect and its implications for transfer learning. In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 122--131. ACM, 2016.
[28]
D. C. Montgomery. Design and analysis of experiments. John Wiley & Sons, 2008.
[29]
J. Nam and S. Kim. Heterogeneous defect prediction. In Proceedings of the Joint Meeting on Foundations of Software Engineering (FSE), pages 508--519. ACM, 2015.
[30]
J. Nam, S. J. Pan, and S. Kim. Transfer defect learning. In Proceedings of the International Conference on Software Engineering (ICSE), pages 382--391. IEEE Press, 2013.
[31]
T. Osogami and S. Kato. Optimizing system configurations quickly by guessing at the performance. In Proceedings of the 2007 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, volume 35, 2007.
[32]
S. J. Pan and Q. Yang. A survey on transfer learning. IEEE Transactions on Knowledge and Data Engineering, 22(10):1345--1359, 2010.
[33]
N. Papernot, P. McDaniel, A. Sinha, and M. Wellman. Towards the science of security and privacy in machine learning. arXiv preprint arXiv:1611.03814, 2016.
[34]
M. Reckhaus, N. Hochgeschwender, J. Paulus, A. Shakhimardanov, and G. K. Kraetzschmar. An overview about simulation and emulation in robotics. IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots, pages 365--374, 2010.
[35]
A. Sarkar, J. Guo, N. Siegmund, S. Apel, and K. Czarnecki. Cost-efficient sampling for performance prediction of configurable systems. In 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), pages 342--352. IEEE, 2015.
[36]
N. Siegmund, A. Grebhahn, S. Apel, and C. Kästner. Performance-influence models for highly configurable systems. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (FSE), pages 284--294. ACM, 2015.
[37]
S. Thrun, W. Burgard, and D. Fox. Probabilistic robotics. MIT press, 2005.
[38]
L. Torrey and J. Shavlik. Transfer learning. Handbook of Research on Machine Learning Applications and Trends: Algorithms, Methods, and Techniques, 1:242--264, 2009.
[39]
M. Veloso, J. Biswas, B. Coltin, and S. Rosenthal. CoBots: Robust symbiotic autonomous mobile service robots. In International Joint Conference on Artificial Intelligence (IJCAI), volume 4423, pages 4423--4429, 2015.
[40]
C. K. Williams and C. E. Rasmussen. Gaussian processes for machine learning. MIT Press, 2006.
[41]
B. Xi, Z. Liu, M. Raghavachari, C. H. Xia, and L. Zhang. A smart hill-climbing algorithm for application server configuration. In 13th International Conference on World Wide Web (WWW), pages 287--296. ACM, 2004.
[42]
T. Ye and S. Kalyanaraman. A recursive random search algorithm for large-scale network parameter configuration. ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, 31(1):196--205, 2003.
[43]
N. Yigitbasi, T. L. Willke, G. Liao, and D. Epema. Towards machine learning-based auto-tuning of MapReduce. In IEEE International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS), 2013.
[44]
Y. Zhang, J. Guo, E. Blais, and K. Czarnecki. Performance prediction of configurable software systems by Fourier learning. In International Conference on Automated Software Engineering, pages 365--373, 2015.
[45]
W. Zheng, R. Bianchini, and T. D. Nguyen. Automatic configuration of internet services. ACM SIGOPS Operating Systems Review, 41(3):219, 2007.

Cited By

View all
  • (2024)Anunnaki: A Modular Framework for Developing Trusted Artificial IntelligenceACM Transactions on Autonomous and Adaptive Systems10.1145/364945319:3(1-34)Online publication date: 13-Sep-2024
  • (2023)CAMEOProceedings of the 2023 ACM Symposium on Cloud Computing10.1145/3620678.3624791(555-571)Online publication date: 30-Oct-2023
  • (2023)IoPV: On Inconsistent Option Performance VariationsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616319(845-857)Online publication date: 30-Nov-2023
  • Show More Cited By
  1. Transfer learning for improving model predictions in highly configurable software

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SEAMS '17: Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
    May 2017
    227 pages
    ISBN:9781538615508

    Sponsors

    Publisher

    IEEE Press

    Publication History

    Published: 20 May 2017

    Check for updates

    Author Tags

    1. highly configurable software
    2. machine learning
    3. model learning
    4. model prediction
    5. transfer learning

    Qualifiers

    • Research-article

    Conference

    ICSE '17
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 31 submissions, 55%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)8
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 11 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Anunnaki: A Modular Framework for Developing Trusted Artificial IntelligenceACM Transactions on Autonomous and Adaptive Systems10.1145/364945319:3(1-34)Online publication date: 13-Sep-2024
    • (2023)CAMEOProceedings of the 2023 ACM Symposium on Cloud Computing10.1145/3620678.3624791(555-571)Online publication date: 30-Oct-2023
    • (2023)IoPV: On Inconsistent Option Performance VariationsProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616319(845-857)Online publication date: 30-Nov-2023
    • (2023)Transfer-learning-based Autotuning using Gaussian CopulaProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593712(37-49)Online publication date: 21-Jun-2023
    • (2023)Input sensitivity on the performance of configurable systems an empirical studyJournal of Systems and Software10.1016/j.jss.2023.111671201:COnline publication date: 1-Jul-2023
    • (2022)Do Performance Aspirations Matter for Guiding Software Configuration Tuning? An Empirical Investigation under Dual Performance ObjectivesACM Transactions on Software Engineering and Methodology10.1145/357185332:3(1-41)Online publication date: 24-Nov-2022
    • (2022)Continuous and Proactive Software Architecture Evaluation: An IoT CaseACM Transactions on Software Engineering and Methodology10.1145/349276231:3(1-54)Online publication date: 15-Mar-2022
    • (2022)UnicornProceedings of the Seventeenth European Conference on Computer Systems10.1145/3492321.3519575(199-217)Online publication date: 28-Mar-2022
    • (2021)Generalizable and interpretable learning for configuration extrapolationProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468603(728-740)Online publication date: 20-Aug-2021
    • (2021)Transfer learning for multiobjective optimization algorithms supporting dynamic software product linesProceedings of the 25th ACM International Systems and Software Product Line Conference - Volume B10.1145/3461002.3473944(51-59)Online publication date: 6-Sep-2021
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media