Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

HINNPerf: Hierarchical Interaction Neural Network for Performance Prediction of Configurable Systems

Published: 30 March 2023 Publication History

Abstract

Modern software systems are usually highly configurable, providing users with customized functionality through various configuration options. Understanding how system performance varies with different option combinations is important to determine optimal configurations that meet specific requirements. Due to the complex interactions among multiple options and the high cost of performance measurement under a huge configuration space, it is challenging to study how different configurations influence the system performance. To address these challenges, we propose HINNPerf, a novel hierarchical interaction neural network for performance prediction of configurable systems. HINNPerf employs the embedding method and hierarchic network blocks to model the complicated interplay between configuration options, which improves the prediction accuracy of the method. In addition, we devise a hierarchical regularization strategy to enhance the model robustness. Empirical results on 10 real-world configurable systems show that our method statistically significantly outperforms state-of-the-art approaches by achieving average 22.67% improvement in prediction accuracy. In addition, combined with the Integrated Gradients method, the designed hierarchical architecture provides some insights about the interaction complexity and the significance of configuration options, which might help users and developers better understand how the configurable system works and efficiently identify significant options affecting the performance.

References

[1]
Martín Abadi, Paul Barham, Jianmin Chen, Zhifeng Chen, Andy Davis, Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Geoffrey Irving, Michael Isard, Manjunath Kudlur, Josh Levenberg, Rajat Monga, Sherry Moore, Derek G. Murray, Benoit Steiner, Paul Tucker, Vijay Vasudevan, Pete Warden, Martin Wicke, Yuan Yu, and Xiaoqiang Zheng. 2016. TensorFlow: A system for large-scale machine learning. In Proceedings of the 12th USENIX Conference on Operating Systems Design and Implementation (OSDI’16). USENIX Association, 265–283.
[2]
Oren Barkan and Noam Koenigstein. 2016. Item2Vec: Neural item embedding for collaborative filtering. In 2016 IEEE 26th International Workshop on Machine Learning for Signal Processing (MLSP’16). 1–6. DOI:
[3]
Yoshua Bengio. 2009. Learning deep architectures for AI. Found. Trends Mach. Learn. 2, 1 (jan2009), 1–127. DOI:
[4]
Yoshua Bengio, Réjean Ducharme, Pascal Vincent, and Christian Janvin. 2003. A neural probabilistic language model. J. Mach. Learn. Res. 3, null (Mar.2003), 1137–1155.
[5]
Johannes Dorn, Sven Apel, and Norbert Siegmund. 2020. Mastering uncertainty in performance estimations of configurable software systems. In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE’20). Association for Computing Machinery, New York, NY, 684–696. DOI:
[6]
Ronen Eldan and Ohad Shamir. 2016. The power of depth for feedforward neural networks. In 29th Annual Conference on Learning Theory (Proceedings of Machine Learning Research), Vol. 49. PMLR, Columbia University, New York, New York, 907–940. http://proceedings.mlr.press/v49/eldan16.html.
[7]
Jean Dickinson Gibbons and Subhabrata Chakraborti. 2011. Nonparametric Statistical Inference. Springer, Berlin, 977–979. DOI:
[8]
Xavier Glorot, Antoine Bordes, and Yoshua Bengio. 2011. Deep sparse rectifier neural networks. In Proceedings of the 14th International Conference on Artificial Intelligence and Statistics (Proceedings of Machine Learning Research), Vol. 15. JMLR Workshop and Conference Proceedings, 315–323. http://proceedings.mlr.press/v15/glorot11a.html.
[9]
Ian Goodfellow, Yoshua Bengio, and Aaron Courville. 2016. Deep Learning. MIT Press. http://www.deeplearningbook.org.
[10]
Alexander Grebhahn, Norbert Siegmund, and Sven Apel. 2019. Predicting performance of software configurations: There is no silver bullet. CoRR abs/1911.12643 (2019). arXiv:1911.12643. Retrieved Nov. 28, 2019 from http://arxiv.org/abs/1911.12643.
[11]
Jianmei Guo, Krzysztof Czarnecki, Sven Apely, Norbert Siegmundy, and Andrzej Wasowski. 2013. Variability-aware performance prediction: A statistical learning approach. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE’13). IEEE Press, 301–311. DOI:
[12]
Jianmei Guo, Dingyu Yang, Norbert Siegmund, Sven Apel, Atrisha Sarkar, Pavel Valov, Krzysztof Czarnecki, Andrzej Wasowski, and Huiqun Yu. 2018. Data-efficient performance learning for configurable systems. Empirical Softw. Eng. 23, 3 (June2018), 1826–1867. DOI:
[13]
Huong Ha and Hongyu Zhang. 2019. DeepPerf: Performance prediction for configurable software with deep sparse neural network. In Proceedings of the 41st International Conference on Software Engineering (ICSE’19). IEEE Press, 1095–1106. DOI:
[14]
Huong Ha and Hongyu Zhang. 2019. Performance-influence model for highly configurable software with Fourier learning and LASSO regression. In Proceedings of the 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME’19). IEEE, 470–480. DOI:
[15]
Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. 2016. Deep residual learning for image recognition. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR’16). 770–778. DOI:
[16]
Christopher Henard, Mike Papadakis, Mark Harman, and Yves Le Traon. 2015. Combining multi-objective search and constraint solving for configuring large software product lines. In Proceedings of the 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Vol. 1. 517–528. DOI:
[17]
Tin Kam Ho. 1995. Random decision forests. In Proceedings of the 3rd International Conference on Document Analysis and Recognition, Vol. 1. 278–282. DOI:
[18]
Kurt Hornik, Maxwell Stinchcombe, and Halbert White. 1989. Multilayer feedforward networks are universal approximators. Neural Netw. 2, 5 (Jul1989), 359–366. DOI:
[19]
Sheng-hung Hu, Yikang Li, and Baoxin Li. 2016. Video2vec: Learning semantic spatio-temporal embeddings for video representation. In Proceedings of the 23rd International Conference on Pattern Recognition (ICPR’16). IEEE, 811–816. DOI:
[20]
Gang Huang, Hong Mei, and Fuqing Yang. 2006. Runtime recovery and manipulation of software architecture of component-based systems. Autom. Softw. Eng. 13, 2 (2006), 257–281. DOI:
[21]
Martin Fagereng Johansen, Øystein Haugen, and Franck Fleurey. 2012. An algorithm for generating T-Wise covering arrays from large feature models. In Proceedings of the 16th International Software Product Line Conference - Volume 1 (SPLC’12). Association for Computing Machinery, New York, NY, 46–55. DOI:
[22]
Christian Kaltenecker, Alexander Grebhahn, Norbert Siegmund, Jianmei Guo, and Sven Apel. 2019. Distance-based sampling of software configuration spaces. In Proceedings of the 41st International Conference on Software Engineering (ICSE’19). IEEE Press, 1084–1094. DOI:
[23]
Diederik P. Kingma and Jimmy Ba. 2015. Adam: A method for stochastic optimization. In Proceedings of the 3rd International Conference on Learning Representations (ICLR’15) Conference Track Proceedings, Yoshua Bengio and Yann LeCun (Eds.). http://arxiv.org/abs/1412.6980.
[24]
Kamran Kowsari, Donald E. Brown, Mojtaba Heidarysafa, Kiana Jafari Meimandi, Matthew S. Gerber, and Laura E. Barnes. 2017. HDLTex: Hierarchical deep learning for text classification. In Proceedings of the 2017 16th IEEE International Conference on Machine Learning and Applications (ICMLA’17). 364–371. DOI:
[25]
Yu Lei, Raghu Kacker, D. Richard Kuhn, Vadim Okun, and James Lawrence. 2008. IPOG-IPOG-D: Efficient test generation for multi-way combinatorial testing. Softw. Test. Verif. Reliab. 18, 3 (Sept. 2008), 125–148. Retrieved Nov. 16, 2020 from http://arxiv.org/abs/1610.04161
[26]
Moshe Leshno, Vladimir Y. Lin, Allan Pinkus, and Shimon Schocken. 1993. Multilayer feedforward networks with a nonpolynomial activation function can approximate any function.Neural Netw. 6, 6 (1993), 861–867. DOI:
[27]
Shiyu Liang and R. Srikant. 2016. Why deep neural networks for function approximation?CoRR abs/1610.04161 (2016). arXiv:1610.04161. Retrieved from http://arxiv.org/abs/1610.04161.
[28]
Chenxi Liu, Liang-Chieh Chen, Florian Schroff, Hartwig Adam, Wei Hua, Alan Yuille, and Li Fei-Fei. 2019. Auto-deeplab: Hierarchical neural architecture search for semantic image segmentation. In Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR’19). 82–92. DOI:
[29]
Yulong Lu and Jianfeng Lu. 2020. A universal approximation theorem of deep neural networks for expressing probability distributions. CoRR abs/2004.08867 (2020). arXiv:2004.08867. Retrieved from https://arxiv.org/abs/2004.08867.
[30]
Dusica Marijan, Arnaud Gotlieb, Sagar Sen, and Aymeric Hervieu. 2013. Practical pairwise testing for software product lines. In Proceedings of the 17th International Software Product Line Conference (SPLC’13). Association for Computing Machinery, New York, NY, 227–235. DOI:
[31]
Tomás Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. 2013. Efficient estimation of word representations in vector space. In 1st International Conference on Learning Representations, ICLR 2013, Scottsdale, Arizona, USA, May 2-4, 2013, Yoshua Bengio and Yann LeCun (Eds.). http://arxiv.org/abs/1301.3781
[32]
Tomás Mikolov, Jirí Kopecký, Lukás Burget, Ondrej Glembek, and Jan Honza Cernocký. 2009. Neural network based language models for highly inflective languages. In Proceedings of the 2009 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP’09). IEEE Computer Society, 4725–4728. DOI:
[33]
Stefan Mühlbauer, Sven Apel, and Norbert Siegmund. 2019. Accurate modeling of performance histories for evolving software systems. In Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE’19). IEEE Press, 640–652. DOI:
[34]
Vinod Nair and Geoffrey E. Hinton. 2010. Rectified linear units improve restricted Boltzmann machines. In Proceedings of the 27th International Conference on Machine Learning (ICML’10). Omnipress, Madison, WI, 807–814.
[35]
Andrew Y. Ng. 2004. Feature selection, L1 vs. L2 regularization, and rotational invariance. In Proceedings of the 21st International Conference on Machine Learning (ICML’04). ACM, New York, NY, 78. DOI:
[36]
Boris N. Oreshkin, Dmitri Carpov, Nicolas Chapados, and Yoshua Bengio. 2019. N-BEATS: Neural basis expansion analysis for interpretable time series forecasting. CoRR abs/1905.10437 (2019). arXiv:1905.10437. Retrieved Feb. 20, 2020 from http://arxiv.org/abs/1905.10437.
[37]
Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, Jake Vanderplas, Alexandre Passos, David Cournapeau, Matthieu Brucher, Matthieu Perrot, and Édouard Duchesnay. 2011. Scikit-learn: Machine learning in python. J. Mach. Learn. Res. 12, null (Nov.2011), 2825–2830.
[38]
Tomaso A. Poggio, Hrushikesh Mhaskar, Lorenzo Rosasco, Brando Miranda, and Qianli Liao. 2017. Why and when can deep - but not shallow - networks avoid the curse of dimensionality: A review. Int. J. Autom. Comput. 14, 5 (2017), 503–519. DOI:
[39]
Maithra Raghu, Ben Poole, Jon Kleinberg, Surya Ganguli, and Jascha Sohl-Dickstein. 2017. On the expressive power of deep neural networks. In Proceedings of the 34th International Conference on Machine Learning (Proceedings of Machine Learning Research), Vol. 70. PMLR, International Convention Centre, 2847–2854. http://proceedings.mlr.press/v70/raghu17a.html.
[40]
Abdel Salam Sayyad, Joseph Ingram, Tim Menzies, and Hany Ammar. 2013. Scalable product line configuration: A straw to break the camel’s back. In Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE’13). IEEE Press, 465–474. DOI:
[41]
Abdel Salam Sayyad, Tim Menzies, and Hany Ammar. 2013. On the value of user preferences in search-based software engineering: A case study in software product lines. In Proceedings of the 2013 35th International Conference on Software Engineering (ICSE’13). 492–501. DOI:
[42]
Norbert Siegmund, Alexander Grebhahn, Sven Apel, and Christian Kästner. 2015. Performance-influence models for highly configurable systems. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’15). ACM, New York, NY, 284–294. DOI:
[43]
Norbert Siegmund, Sergiy S. Kolesnikov, Christian Kästner, Sven Apel, Don Batory, Marko Rosenmüller, and Gunter Saake. 2012. Predicting performance via automated feature-interaction detection. In Proceedings of the 34th International Conference on Software Engineering (ICSE’12). IEEE Press, 167–177. DOI:
[44]
Norbert Siegmund, Marko Rosenmuller, Christian Kastner, Paolo G. Giarrusso, Sven Apel, and Sergiy S. Kolesnikov. 2011. Scalable prediction of non-functional properties in software product lines. In Proceedings of the 2011 15th International Software Product Line Conference (SPLC’11). IEEE Computer Society, 160–169. DOI:
[45]
Norbert Siegmund, Alexander von Rhein, and Sven Apel. 2013. Family-based performance measurement. In Proceedings of the 12th International Conference on Generative Programming: Concepts & Experiences (GPCE’13). ACM, New York, NY, 95–104. DOI:
[46]
Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. 2014. Dropout: A simple way to prevent neural networks from overfitting. J. Mach. Learn. Res. 15, 56 (Jan.2014), 1929–1958. http://jmlr.org/papers/v15/srivastava14a.html.
[47]
Mukund Sundararajan, Ankur Taly, and Qiqi Yan. 2017. Axiomatic attribution for deep networks. In Proceedings of the 34th International Conference on Machine Learning - Volume 70 (ICML’17). JMLR.org, 3319–3328.
[48]
Robert Tibshirani. 1996. Regression shrinkage and selection via the Lasso. J. R. Stat. Soc. Ser. B Methodol. 58, 1 (1996), 267–288. DOI:
[49]
Tianyin Xu, Long Jin, Xuepeng Fan, Yuanyuan Zhou, Shankar Pasupathy, and Rukma Talwadker. 2015. Hey, you have given me too many knobs!: Understanding and dealing with over-designed configuration in system software. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’15). ACM, New York, NY, 307–319. DOI:
[50]
Dmitry Yarotsky. 2017. Error bounds for approximations with deep ReLU networks. Neural Netw. 94 (2017), 103–114. DOI:
[51]
Wen Zhang, Yuhang Du, Taketoshi Yoshida, and Ye Yang. 2019. DeepRec: A deep neural network approach to recommendation with item embedding and weighted loss function. Inf. Sci. 470 (2019), 121–140. DOI:
[52]
Yi Zhang, Jianmei Guo, Eric Blais, and Krzysztof Czarnecki. 2015. Performance prediction of configurable software systems by fourier learning. In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE’15). IEEE Press, 365–373. DOI:
[53]
Yilei Zhang, Zibin Zheng, and Michael R. Lyu. 2014. An online performance prediction framework for service-oriented systems. IEEE Trans. Syst. Man Cybern.: Syst. 44, 9 (2014), 1169–1181. DOI:
[54]
Peilin Zheng, Zibin Zheng, Xiapu Luo, Xiangping Chen, and Xuanzhe Liu. 2018. A detailed and real-time performance monitoring framework for blockchain systems. In Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP’18). ACM, New York, USA, 134–143. DOI:
[55]
Zibin Zheng, Xinmiao Wu, Yilei Zhang, Michael R. Lyu, and Jianmin Wang. 2013. QoS ranking prediction for cloud services. IEEE Trans. Parallel Distrib. Syst. 24, 6 (2013), 1213–1222. DOI:
[56]
Andrey Zhmoginov and Mark Sandler. 2016. Inverting face embeddings with convolutional neural networks. CoRR abs/1606.04189 (2016). arXiv:1606.04189. Retrieved Jul. 7, 2016 from http://arxiv.org/abs/1606.04189.

Cited By

View all
  • (2023)Performance Prediction for Lock-based Programs2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)10.1109/QRS-C60940.2023.00028(437-446)Online publication date: 22-Oct-2023
  • (2023)Mastering uncertainty in performance estimations of configurable software systemsEmpirical Software Engineering10.1007/s10664-022-10250-228:2Online publication date: 19-Jan-2023

Index Terms

  1. HINNPerf: Hierarchical Interaction Neural Network for Performance Prediction of Configurable Systems

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Software Engineering and Methodology
    ACM Transactions on Software Engineering and Methodology  Volume 32, Issue 2
    March 2023
    946 pages
    ISSN:1049-331X
    EISSN:1557-7392
    DOI:10.1145/3586025
    • Editor:
    • Mauro Pezzè
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 30 March 2023
    Online AM: 30 April 2022
    Accepted: 21 March 2022
    Revised: 17 January 2022
    Received: 03 June 2021
    Published in TOSEM Volume 32, Issue 2

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Software performance prediction
    2. highly configurable systems
    3. deep neural network
    4. machine learning

    Qualifiers

    • Research-article

    Funding Sources

    • Key-Area Research and Development Program of Guangdong Province
    • National Natural Science Foundation of China
    • Stable support plan for colleges and universities in Shenzhen

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)201
    • Downloads (Last 6 weeks)11
    Reflects downloads up to 30 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Performance Prediction for Lock-based Programs2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security Companion (QRS-C)10.1109/QRS-C60940.2023.00028(437-446)Online publication date: 22-Oct-2023
    • (2023)Mastering uncertainty in performance estimations of configurable software systemsEmpirical Software Engineering10.1007/s10664-022-10250-228:2Online publication date: 19-Jan-2023

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    Full Text

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media