Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3233027.3233039acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

N-dimensional tensor factorization for self-configuration of software product lines at runtime

Published: 10 September 2018 Publication History

Abstract

Dynamic software product lines demand self-adaptation of their behavior to deal with runtime contextual changes in their environment and offer a personalized product to the user. However, taking user preferences and context into account impedes the manual configuration process, and thus, an efficient and automated procedure is required. To automate the configuration process, context-aware recommendation techniques have been acknowledged as an effective mean to provide suggestions to a user based on their recognized context. In this work, we propose a collaborative filtering method based on tensor factorization that allows an integration of contextual data by modeling an N-dimensional tensor User-Feature-Context instead of the traditional two-dimensional User-Feature matrix. In the proposed approach, different types of non-functional properties are considered as additional contextual dimensions. Moreover, we show how to self-configure software product lines by applying our N-dimensional tensor factorization recommendation approach. We evaluate our approach by means of an empirical study using two datasets of configurations derived for medium-sized product lines. Our results reveal significant improvements in the predictive accuracy of the configuration over a state-of-the-art non-contextual matrix factorization approach. Moreover, it can scale up to a 7-dimensional tensor containing hundred of configurations in a couple of milliseconds.

References

[1]
Uzma Afzal, Tariq Mahmood, and Zubair Shaikh. 2016. Intelligent software product line configurations: A literature review. Computer Standards & Interfaces 48 (2016), 30--48.
[2]
Germán H Alférez, Vicente Pelechano, Raúl Mazo, Camille Salinesi, and Daniel Diaz. 2014. Dynamic adaptation of service compositions with variability models. Journal of Systems and Software 91 (2014), 24--47.
[3]
André Almeida, Everton Cavalcante, Thais Batista, Nelio Cacho, and Frederico Lopes. 2014. A component-based adaptation approach for multi-cloud applications. In Conference on Computer Communications Workshops (INFOCOM WKSHPS). IEEE, 49--54.
[4]
Ebrahim Bagheri, Tommaso Di Noia, Dragan Gasevic, and Azzurra Ragone. 2012. Formalizing interactive staged feature model configuration. Journal of Software: Evolution and Process 24, 4 (2012), 375--400.
[5]
David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated analysis of feature models 20 years later: a literature review. Information Systems 35, 6 (2010), 615--708.
[6]
Christopher M. Bishop. 2007. Pattern recognition and Machine Learning (Information Science and Statistics) (1 ed.). Springer.
[7]
Johannes Bürdek, Sascha Lity, Malte Lochau, Markus Berens, Ursula Goltz, and Andy Schürr. 2014. Staged configuration of dynamic software product lines with complex binding time constraints. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems (VaMoS). ACM, 16.
[8]
Carlos Cetina, Joan Fons, and Vicente Pelechano. 2008. Applying software product lines to build autonomic pervasive systems. In Proceedings of the International Software Product Line Conference (SPLC). 117--126.
[9]
Carlos Cetina, Pau Giner, Joan Fons, and Vicente Pelechano. 2009. Autonomic computing through reuse of variability models at runtime: The case of smart homes. Computer 42, 10 (2009), 37--43.
[10]
International Organization For Standardization/International Electrotechnical Commission et al. 2001. Software engineering-Product quality-Part 1: Quality model. ISO/IEC 9126 (2001), 2001.
[11]
Andreas Falkner, Alexander Felfernig, and Albert Haag. 2011. Recommendation technologies for configurable products. Ai Magazine 32, 3 (2011), 99--108.
[12]
Gene H Golub and Charles F Van Loan. 2012. Matrix computations. Vol. 3. JHU Press.
[13]
Gabriela Guedes, Carla Silva, Monique Soares, and Jaelson Castro. 2015. Variability management in dynamic software product lines: A systematic mapping. In Components, Architectures and Reuse Software (SBCARS), 2015 IX Brazilian Symposium on. IEEE, 90--99.
[14]
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 International Conference on Software Engineering (ICSE). IEEE, 517--528.
[15]
Robert M Hierons, Miqing Li, XiaoHui Liu, Sergio Segura, and Wei Zheng. 2016. SIP: optimal product selection from feature models using many-objective evolutionary optimization. ACM Transactions on Software Engineering and Methodology (TOSEM) 25, 2 (2016), 17.
[16]
Mike Hinchey, Sooyong Park, and Klaus Schmid. 2012. Building Dynamic Software Product Lines. IEEE Computer 45, 10 (October 2012), 22--26.
[17]
Kyo C. Kang, Sholom G. Cohen, James A. Hess, William E. Novak, and A. Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21. Software Engineering Institute.
[18]
Alexandros Karatzoglou, Xavier Amatriain, Linas Baltrunas, and Nuria Oliver. 2010. Multiverse Recommendation: N-Dimensional Tensor Factorization for Context-Aware Collaborative Filtering. In ACM Recommender Systems Conference (ACM RecSys). ACM, 79--86.
[19]
Yehuda Koren and Robert Bell. 2015. Advances in collaborative filtering. In Recommender systems handbook. Springer, 77--118.
[20]
Y. Koren, R. Bell, and C. Volinsky. 2009. Matrix factorization techniques for recommender systems. Computer 42 (Aug. 2009), 30--37.
[21]
Xiaoli Lian and Li Zhang. 2015. Optimized feature selection towards functional and non-functional requirements in software product lines. In Proceedings of the International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE, 191--200.
[22]
Roberto E Lopez-Herrejon, Lukas Linsbauer, and Alexander Egyed. 2015. A systematic mapping study of search-based software engineering for software product lines. Information and software technology 61 (2015), 33--51.
[23]
Lucas Machado, Juliana Pereira, Lucas Garcia, and Eduardo Figueiredo. 2014. SPLConfig: product configuration in software product line. In Brazilian Congress on Software Engineering (CBSoft). 1--8.
[24]
Dewi Mairiza, Didar Zowghi, and Nurie Nurmuliani. 2010. An investigation into the notion of non-functional requirements. In ACM Symposium on Applied Computing (SAC). ACM, 311--317.
[25]
Jacopo Mauro, Michael Nieke, Christoph Seidl, and Ingrid Chieh Yu. 2016. Context Aware Reconfiguration in Software Product Lines. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems (VaMoS). ACM, 41--48.
[26]
Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer.
[27]
Marcílio Mendonça, Moises Branco, and Donald Cowan. 2009. S.P.L.O.T.: software product lines online tools. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA). ACM, 761--762.
[28]
Rabeb Mizouni, Mohammad Abu Matar, Zaid Al Mahmoud, Salwa Alzahmi, and Aziz Salah. 2014. A framework for context-aware self-adaptive mobile applications SPL. Expert Systems with Applications 41, 16 (2014), 7549--7564.
[29]
Lina Ochoa, Oscar Gonzalez-Rojasa, Juliana Alves Pereira, Harold Castro, and Gunter Saake. 2018. A Systematic Literature Review on the Semi-Automatic Configuration of Extended Product Lines. Journal of Systems and Software (JSS) 144 (2018), 511--532.
[30]
Lina Ochoa, Juliana Alves Pereira, Oscar González-Rojas, Harold Castro, and Gunter Saake. 2017. A survey on scalability and performance concerns in extended product lines configuration. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems (VaMoS). ACM, 5--12.
[31]
Gustavo G Pascual, Roberto E Lopez-Herrejon, Mónica Pinto, Lidia Fuentes, and Alexander Egyed. 2015. Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications. Journal of Systems and Software (JSS) 103 (2015), 392--411.
[32]
Gustavo G Pascual, Roberto E Lopez-Herrejon, Mónica Pinto, Lidia Fuentes, and Alexander Egyed. 2015. Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications. Journal of Systems and Software 103 (2015), 392--411.
[33]
Juliana Alves Pereira, Lucas Maciel, Thiago F Noronha, and Eduardo Figueiredo. 2017. Heuristic and exact algorithms for product configuration in software product lines. International Transactions in Operational Research (ITOR) 24, 6 (2017), 1285--1306.
[34]
Juliana Alves Pereira, Jabier Martinez, Hari Kumar Gurudu, Sebastian Krieter, and Gunter Saake. 2018. Visual Guidance for Product Line Configuration Using Recommendations and Non-Functional Properties. In ACM Symposium on Applied Computing (SAC). ACM, 2058--2065.
[35]
Juliana Alves Pereira, Pawel Matuszyk, Sebastian Krieter, Myra Spiliopoulou, and Gunter Saake. 2016. A feature-based personalized recommender system for product-line configuration. In Proceedings of the International Conference on Generative Programming and Component Engineering (GPCE). ACM, 120--131.
[36]
Juliana Alves Pereira, Pawel Matuszyk, Sebastian Krieter, Myra Spiliopoulou, and Gunter Saake. 2018. Personalized Recommender Systems for Product-line Configuration Processes. Computer Languages, Systems & Structures (COMLAN) (2018).
[37]
Juliana Alves Pereira, Sandro Schulze, Sebastian Krieter, Márcio Ribeiro, and Gunter Saake. 2018. A Context-Aware Recommender System for Extended Software Product Line Configurations. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems (VaMoS). ACM, 1--8.
[38]
Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software product line engineering: foundations, principles and techniques. Springer, Berlin Heidelberg.
[39]
Carlos Ruiz, Hector A Duran-Limon, and Nikos Parlavantzas. 2016. Towards a software product line-based approach to adapt IaaS cloud configurations. In International Conference on Utility and Cloud Computing. ACM, 398--403.
[40]
Karsten Saller, Malte Lochau, and Ingo Reimund. 2013. Context-aware DSPLs: model-based runtime adaptation for resource-constrained systems. In Proceedings of the International Software Product Line Conference (SPLC). ACM, 106--113.
[41]
Amir Molzam Sharifloo, Andreas Metzger, Clément Quinton, Luciano Baresi, and Klaus Pohl. 2016. Learning and evolution in dynamic software product lines. IEEE, 158--164.
[42]
Kai Shi. 2017. Combining Evolutionary Algorithms with Constraint Solving for Configuration Optimization. IEEE, 665--669.
[43]
Ian Sommerville and Pete Sawyer. 1997. Viewpoints: principles, problems and a practical approach to requirements engineering. Annals of software engineering 3, 1 (1997), 101--130.
[44]
Gábor Takács, István Pilászy, Bottyán Németh, and Domonkos Tikk. 2009. Scalable collaborative filtering approaches for large recommender systems. Journal of Machine Learning Research 10 (June 2009), 623--656.
[45]
Lei Tan, Yuqing Lin, Huilin Ye, and Guoheng Zhang. 2013. Improving product configuration in software product line engineering. In Australasian Computer Science Conference. Australian Computer Society, Inc., 125--133.
[46]
Tian Huat Tan, Yinxing Xue, Manman Chen, Jun Sun, Yang Liu, and Jin Song Dong. 2015. Optimizing selection of competing features via feedback-directed evolutionary algorithms. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA). ACM, 246--256.
[47]
C Wohlin, P Runeson, M Host, MC Ohlsson, B Regnell, and A Wesslen. 2000. Experimentation in software engineering: an introduction.
[48]
Yi Xiang, Yuren Zhou, Zibin Zheng, and Miqing Li. 2018. Configuring Software Product Lines by Combining Many-Objective Optimization and SAT Solvers. ACM Transactions on Software Engineering and Methodology (TOSEM) 26, 4 (2018), 0--14.

Cited By

View all
  • (2021)Discovering configuration workflows from existing logs using process miningEmpirical Software Engineering10.1007/s10664-020-09911-x26:1Online publication date: 26-Jan-2021
  • (2021)Guiding the evolution of product-line configurationsSoftware and Systems Modeling10.1007/s10270-021-00906-wOnline publication date: 4-Jul-2021
  • (2020)Empirical software product line engineeringInformation and Software Technology10.1016/j.infsof.2020.106389128:COnline publication date: 1-Dec-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '18: Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1
September 2018
324 pages
ISBN:9781450364645
DOI:10.1145/3233027
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. recommender systems
  2. runtime decision-making
  3. self-configuration
  4. software product lines

Qualifiers

  • Research-article

Funding Sources

Conference

SPLC '18

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2021)Discovering configuration workflows from existing logs using process miningEmpirical Software Engineering10.1007/s10664-020-09911-x26:1Online publication date: 26-Jan-2021
  • (2021)Guiding the evolution of product-line configurationsSoftware and Systems Modeling10.1007/s10270-021-00906-wOnline publication date: 4-Jul-2021
  • (2020)Empirical software product line engineeringInformation and Software Technology10.1016/j.infsof.2020.106389128:COnline publication date: 1-Dec-2020
  • (2019)RESDECProceedings of the 23rd International Systems and Software Product Line Conference - Volume B10.1145/3307630.3342390(33-36)Online publication date: 9-Sep-2019
  • (2019)Selection of Software Product Line Implementation Components Using Recommender Systems: An Application to WordpressIEEE Access10.1109/ACCESS.2019.29184697(69226-69245)Online publication date: 2019
  • (2019)Efficient elicitation of software configurations using crowd preferences and domain knowledgeAutomated Software Engineering10.1007/s10515-018-0247-426:1(87-123)Online publication date: 1-Mar-2019

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media