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 Scholar
Digital Library
- E. Bagheri, M. Asadi, D. Gasevic, and S. Soltani. Stratified Analytic Hierarchy Process: Prioritization and Selection of Software Features. Springer, 2010.Google Scholar
Cross 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 Scholar
Digital Library
- E. Bagheri and F. Ensan. Dynamic Decision Models for Staged Software Product Line Configuration. Requirements Engineering, 19(2):187–212, 2014. Google Scholar
Digital 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 Scholar
Cross 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
- J. Bosch, R. Capilla, and R. Hilliard. Trends in Systems and Software Variability. IEEE Software, 32(3):44–51, 2015.Google Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Cross Ref
- K. C. Kang, J. Lee, and P. Donohoe. Feature-Oriented Product Line Engineering. IEEE Software, 19(4):58–65, 2002. Google Scholar
Digital 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 Scholar
Digital Library
- Y. Koren, R. Bell, and C. Volinsky. Matrix Factorization Techniques for Recommender Systems. Computer, 42:30–37, 2009. Google Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
- J. W. Payne, J. R. Bettman, and E. J. Johnson. The Aadaptive Decision Maker. Cambridge University Press, 1993.Google Scholar
Cross 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 Scholar
Digital 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 Scholar
Digital Library
- K. Pohl, G. Böckle, and F. J. van der Linden. Software Product Line Engineering: Foundations, Principles and Techniques. Springer, 2005. Google Scholar
Digital Library
- G. Shani and A. Gunawardana. Evaluating Recommendation Systems. In Recommender Systems Handbook. Springer, 2011.Google Scholar
Cross 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital 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 Scholar
Digital Library
Index Terms
A feature-based personalized recommender system for product-line configuration
Recommendations
A feature-based personalized recommender system for product-line configuration
GPCE 2016: Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and ExperiencesToday’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 ...
Revisiting tendency based collaborative filtering for personalized recommendations
CODS-COMAD '18: Proceedings of the ACM India Joint International Conference on Data Science and Management of DataRecommender systems alleviates the problem of information overload by providing personalized suggestions to the users. In this context, recently introduced tendency based recommendation technique is proven to be more simple, intuitive and accurate than ...







Comments