ABSTRACT
Today’s competitive marketplace requires the industry to understand unique and particular needs of their customers. Product line practices enable companies to create individual products for every customer by providing an interdependent set of features. Users configure personalized products by consecutively selecting desired features based on their individual needs. However, as most features are interdependent, users must understand the impact of their gradual selections in order to make valid decisions. Thus, especially when dealing with large feature models, specialized assistance is needed to guide the users in configuring their product. Recently, recommender systems have proved to be an appropriate mean to assist users in finding information and making decisions. In this paper, we propose an advanced feature recommender system that provides personalized recommendations to users. In detail, we offer four main contributions: (i) We provide a recommender system that suggests relevant features to ease the decision-making process. (ii) Based on this system, we provide visual support to users that guides them through the decision-making process and allows them to focus on valid and relevant parts of the configuration space. (iii) We provide an interactive open-source configurator tool encompassing all those features. (iv) In order to demonstrate the performance of our approach, we compare three different recommender algorithms in two real case studies derived from business experience.
- M. Antkiewicz and K. Czarnecki. FeaturePlugin: Feature Modeling Plug-in for Eclipse. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pp. 67–72. ACM, 2004. Google ScholarDigital Library
- E. Bagheri, M. Asadi, D. Gasevic, and S. Soltani. Stratified Analytic Hierarchy Process: Prioritization and Selection of Software Features. Springer, 2010.Google ScholarCross Ref
- E. Bagheri, T. Di Noia, A. Ragone, and D. Gasevic. Configuring Software Product Line Feature Models based on Stakeholders’ Soft and Hard Requirements. In Software Product Lines: Going Beyond, pp. 16–31. Springer, 2010. Google ScholarDigital Library
- E. Bagheri and F. Ensan. Dynamic Decision Models for Staged Software Product Line Configuration. Requirements Engineering, 19(2):187–212, 2014. Google ScholarDigital Library
- E. Bagheri, T. D. Noia, D. Gasevic, and A. Ragone. Formalizing Interactive Staged Feature Model Configuration. Journal of Software: Evolution and Process, 24(4):375–400, 2012.Google ScholarCross Ref
- M. Barbeau and F. Bordeleau. A Protocol Stack Development Tool Using Generative Programming. In Generative Programming and Component Engineering, pp. 93–109. Springer, 2002. Google ScholarDigital Library
- D. Benavides, S. Segura, and A. Ruiz-Cortés. Automated Analysis of Feature Models 20 Years Later: A Literature Review. Information Systems, 35(6):615–708, 2010. Google ScholarDigital Library
- D. Benavides, S. Segura, P. Trinidad, and A. R. Cortés. FAMA: Tooling a Framework for the Automated Analysis of Feature Models. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems (VaMoS), pp. 129– 134, 2007.Google Scholar
- C. M. Bishop. Pattern recognition and machine learning. Springer, 2006. Google ScholarDigital Library
- J. Bosch, R. Capilla, and R. Hilliard. Trends in Systems and Software Variability. IEEE Software, 32(3):44–51, 2015.Google ScholarDigital Library
- C. Cetina, P. Giner, J. Fons, and V. Pelechano. Autonomic Computing Through Reuse of Variability Models at Runtime: The Case of Smart Homes. Computer, 42(10):37–43, 2009. Google ScholarDigital Library
- S. Choi, S. Cha, and C. C. Tappert. A Survey of Binary Similarity and Distance Measures. Journal of Systemics, Cybernetics and Informatics, 8(1):43–48, 2010.Google Scholar
- K. Constantino, J. A. Pereira, J. Padilha, P. Vasconcelos, and E. Figueiredo. An Empirical Study of Two Software Product Line Tools. In Proceedings of the International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), 2016.Google ScholarDigital Library
- K. Czarnecki, P. Grünbacher, R. Rabiser, K. Schmid, and A. W ˛ asowski. Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches. In Proceedings of the Workshop on Variability Modelling of Software-intensive Systems (VaMoS), pp. 173–182. ACM, 2012. Google ScholarDigital Library
- C. Desrosiers and G. Karypis. A Comprehensive Survey of Neighborhood-based Recommendation Methods. In Recommender Systems Handbook, pp. 107–144. Springer, 2011.Google Scholar
- J. A. Galindo, D. Dhungana, R. Rabiser, D. Benavides, G. Botterweck, and P. Grünbacher. Supporting Distributed Product Configuration by Integrating Heterogeneous Variability Modeling Approaches. Information and Software Technology, 62:78–100, 2015. Google ScholarDigital Library
- M. L. Griss, J. Favaro, and M. D. Alessandro. Integrating Feature Modeling with the RSEB. In Proceedings of the International Conference on Software Reuse (ICSR), pp. 76– 85. IEEE, 1998. Google ScholarDigital Library
- Y. O. Halchenko and M. Hanke. Open is Not Enough. Let’s Take the Next Step: An Integrated, Community-Driven Computing Platform for Neuroscience. Frontiers in Neuroinformatics, 2012, 2012.Google Scholar
- C. Henard, M. Papadakis, M. Harman, and Y. Le Traon. Combining Multi-Objective Search and Constraint Solving for Configuring Large Software Product Lines. In Proceedings of the International Conference on Software Engineering (ICSE), pp. 517–528. IEEE, 2015. Google ScholarDigital Library
- R. M. Hierons, M. Li, X. Liu, S. Segura, and W. Zheng. SIP: Optimal Product Selection from Feature Models Using Many-Objective Evolutionary Optimization. ACM Transactions on Software Engineering and Methodology (TOSEM), 25(2):17, 2016. Google ScholarDigital Library
- K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, 1990.Google ScholarCross Ref
- K. C. Kang, J. Lee, and P. Donohoe. Feature-Oriented Product Line Engineering. IEEE Software, 19(4):58–65, 2002. Google ScholarDigital Library
- Y. Koren. Collaborative Filtering with Temporal Dynamics. In Proceedings of the ACM International Conference on Knowledge Discovery and Data Mining (SIGKDD), pp. 447– 456. ACM, 2009. Google ScholarDigital Library
- Y. Koren, R. Bell, and C. Volinsky. Matrix Factorization Techniques for Recommender Systems. Computer, 42:30–37, 2009. Google ScholarDigital Library
- K. Lee, K. C. Kang, and J. Lee. Concepts and Guidelines of Feature Modeling for Product Line Software Engineering. In Software Reuse: Methods, Techniques, and Tools, pp. 62–77. Springer, 2002. Google ScholarDigital Library
- X. Lian and L. Zhang. 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), pp. 191–200. IEEE, 2015.Google Scholar
- P. Lops, M. de Gemmis, and G. Semeraro. Content-based Recommender Systems: State of the Art and Trends. In Recommender Systems Handbook, pp. 73–105. Springer, 2011.Google Scholar
- R. Lotufo, S. She, T. Berger, K. Czarnecki, and A. W ˛ asowski. Evolution of the Linux Kernel Variability Model. In Software Product Lines: Going Beyond, pp. 136–150. Springer, 2010. Google ScholarDigital Library
- L. Machado, J. Pereira, L. Garcia, and E. Figueiredo. SPLConfig: Product Configuration in Software Product Line. In Proceedings of the Brazilian Conference on Software: Theory and Practice (CBSoft), pp. 1–8, 2014.Google Scholar
- J. Martinez, G. Rossi, T. Ziadi, T. F. D. A. Bissyandé, J. Klein, and Y. Le Traon. Estimating and Predicting Average Likability on Computer-Generated Artwork Variants. In Proceedings of the Companion Publication of the 2015 on Genetic and Evolutionary Computation Conference, pp. 1431–1432. ACM, 2015. Google ScholarDigital Library
- J. L. Martinez, T. Ziadi, R. Mazo, T. F. Bissyandé, J. Klein, and Y. Le Traon. Feature Relations Graphs: A Visualisation Paradigm for Feature Constraints in Software Product Lines. In Proceedings of the IEEE Working Conference on Software Visualization (VISSOFT), pp. 50–59. IEEE, 2014. Google ScholarDigital Library
- R. Mazo, C. Dumitrescu, C. Salinesi, and D. Diaz. Recommendation Heuristics for Improving Product Line Configuration Processes. In Recommendation Systems in Software Engineering, pp. 511–537. Springer, 2014.Google Scholar
- R. Mazo, C. Salinesi, and D. Diaz. VariaMos: a tool for product line driven systems engineering with a constraint based approach. In Proceedings of the International Conference on Advanced Information Systems Engineering (CAiSE), pp. 147–154. CEUR-WS.org, 2012.Google Scholar
- M. Mendonça, M. Branco, and D. Cowan. S.P.L.O.T.: Software Product Lines Online Tools. In Proceedings of the Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), pp. 761–762. ACM, 2009. Google ScholarDigital Library
- G. G. Pascual, R. E. Lopez-Herrejon, M. Pinto, L. Fuentes, and A. Egyed. Applying Multiobjective Evolutionary Algorithms to Dynamic Software Product Lines for Reconfiguring Mobile Applications. Journal of Systems and Software (JSS), 103:392– 411, 2015. Google ScholarDigital Library
- J. W. Payne, J. R. Bettman, and E. J. Johnson. The Aadaptive Decision Maker. Cambridge University Press, 1993.Google ScholarCross Ref
- J. A. Pereira, K. Constantino, and E. Figueiredo. A Systematic Literature Review of Software Product Line Management Tools. In Proceedings of the International Conference on Software Reuse (ICSR), pp. 73–89. Springer, 2015.Google Scholar
- J. A. Pereira, S. Krieter, J. Meinicke, R. Schröter, G. Saake, and T. Leich. FeatureIDE: Scalable Product Configuration of Variable Systems. In Software Reuse: Bridging with Social-Awareness, pp. 397–401. Springer, 2016. Google ScholarDigital Library
- J. A. Pereira, C. Souza, E. Figueiredo, R. Abilio, G. Vale, and H. A. X. Costa. Software Variability Management: An Exploratory Study with Two Feature Modeling Tools. In Proceedings of the Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS), pp. 20–29. IEEE, 2013. Google ScholarDigital Library
- K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005. Google ScholarDigital Library
- G. Shani and A. Gunawardana. Evaluating Recommendation Systems. In Recommender Systems Handbook. Springer, 2011.Google ScholarCross Ref
- O. Spinczyk and D. Beuche. Modeling and Building Software Product Lines with Eclipse. In Companion to the ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pp. 18–19. ACM, 2004. Google ScholarDigital Library
- G. Takács, I. Pilászy, B. Németh, and D. Tikk. Scalable Collaborative Filtering Approaches for Large Recommender Systems. Journal of Machine Learning Research, 10:623–656, 2009. Google ScholarDigital Library
- L. Tan, Y. Lin, and L. Liu. Quality Ranking of Features in Software Product Line Engineering. In Proceedings of the Asia-Pacific Software Engineering Conference (APSEC), volume 2, pp. 57–62. IEEE, 2014. Google ScholarDigital Library
- T. H. Tan, Y. Xue, M. Chen, J. Sun, Y. Liu, and J. S. Dong. Optimizing Selection of Competing Features via Feedback-Directed Evolutionary Algorithms. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), pp. 246–256. ACM, 2015. Google ScholarDigital Library
- T. Thüm, C. Kästner, F. Benduhn, J. Meinicke, G. Saake, and T. Leich. FeatureIDE: An Extensible Framework for Feature-Oriented Software Development. Science of Computer Programming (SCP), 79(0):70–85, 2014. Google ScholarDigital Library
Index Terms
- A feature-based personalized recommender system for product-line configuration
Recommendations
A Context-Aware Recommender System for Extended Software Product Line Configurations
VAMOS '18: Proceedings of the 12th International Workshop on Variability Modelling of Software-Intensive SystemsMass customization of standardized products has become a trend to succeed in today's market environment. Software Product Lines (SPLs) address this trend by describing a family of software products that share a common set of features. However, choosing ...
A feature-based personalized recommender system for product-line configuration
GPCE '16Today’s competitive marketplace requires the industry to understand unique and particular needs of their customers. Product line practices enable companies to create individual products for every customer by providing an interdependent set of features. ...
Personalized recommender systems for product-line configuration processes
Highlights- We adapt six state-of-the-art recommendation algorithms to the context of product-line configuration.
AbstractProduct lines are designed to support the reuse of features across multiple products. Features are product functional requirements that are important to stakeholders. In this context, feature models are used to establish a reuse ...
Comments