Personalized recommender systems for product-line configuration processes

Abstract Product 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 platform and allow the configuration of multiple products through the interactive selection of a valid combination of features. Although there are many specialized configurator tools that aim to provide configuration support, they only assure that all dependencies from selected features are automatically satisfied. However, no support is provided to help decision makers focus on likely relevant configuration options. Consequently, since decision makers are often unsure about their needs, the configuration of large feature models becomes challenging. To improve the efficiency and quality of the product configuration process, we propose a new approach that provides users with a limited set of permitted, necessary and relevant choices. To this end, we adapt six state-of-the-art recommender algorithms to the product line configuration context. We empirically demonstrate the usability of the implemented algorithms in different domain scenarios, based on two real-world datasets of configurations. The results of our evaluation show that recommender algorithms, such as CF-shrinkage, CF-significance weighting, and BRISMF, when applied in the context of product-line configuration can efficiently support decision makers in a most efficient selection of features.

[1]  Paul Grünbacher,et al.  Supporting distributed product configuration by integrating heterogeneous variability modeling approaches , 2015, Inf. Softw. Technol..

[2]  Gunter Saake,et al.  A survey on scalability and performance concerns in extended product lines configuration , 2017, VaMoS.

[3]  Li Liu,et al.  Quality Ranking of Features in Software Product Line Engineering , 2014, 2014 21st Asia-Pacific Software Engineering Conference.

[4]  Sebastian Krieter,et al.  FeatureIDE: Scalable Product Configuration of Variable Systems , 2016, ICSR.

[5]  John Riedl,et al.  An Algorithmic Framework for Performing Collaborative Filtering , 1999, SIGIR Forum.

[6]  Daniel Diaz,et al.  VariaMos: a Tool for Product Line Driven Systems Engineering with a Constraint Based Approach , 2012, CAiSE Forum.

[7]  Eduardo Figueiredo,et al.  An Empirical Study of Two Software Product Line Tools , 2016, ENASE.

[8]  Yehuda Koren,et al.  Collaborative filtering with temporal dynamics , 2009, KDD.

[9]  Michal Antkiewicz,et al.  FeaturePlugin: feature modeling plug-in for Eclipse , 2004, eclipse '04.

[10]  Yehuda Koren,et al.  Modeling relationships at multiple scales to improve accuracy of large recommender systems , 2007, KDD '07.

[11]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[12]  Thomas Leich,et al.  FeatureIDE: An extensible framework for feature-oriented software development , 2014, Sci. Comput. Program..

[13]  Jan Bosch,et al.  Trends in Systems and Software Variability , 2015, IEEE Softw..

[14]  Pasquale Lops,et al.  Content-based Recommender Systems: State of the Art and Trends , 2011, Recommender Systems Handbook.

[15]  Jacques Klein,et al.  Estimating and Predicting Average Likability on Computer-Generated Artwork Variants , 2015, GECCO.

[16]  C. Tappert,et al.  A Survey of Binary Similarity and Distance Measures , 2010 .

[17]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[18]  Yves Le Traon,et al.  Combining Multi-Objective Search and Constraint Solving for Configuring Large Software Product Lines , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[19]  Jun Sun,et al.  Optimizing selection of competing features via feedback-directed evolutionary algorithms , 2015, ISSTA.

[20]  Domonkos Tikk,et al.  Scalable Collaborative Filtering Approaches for Large Recommender Systems , 2009, J. Mach. Learn. Res..

[21]  Ebrahim Bagheri,et al.  Dynamic decision models for staged software product line configuration , 2013, Requirements Engineering.

[22]  Alexander Egyed,et al.  Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications , 2015, J. Syst. Softw..

[23]  Guy Shani,et al.  Evaluating Recommendation Systems , 2011, Recommender Systems Handbook.

[24]  Dragan Gasevic,et al.  Stratified Analytic Hierarchy Process: Prioritization and Selection of Software Features , 2010, SPLC.

[25]  George Karypis,et al.  A Comprehensive Survey of Neighborhood-based Recommendation Methods , 2011, Recommender Systems Handbook.

[26]  Dragan Gasevic,et al.  Formalizing interactive staged feature model configuration , 2012, J. Softw. Evol. Process..

[27]  Li Zhang,et al.  Optimized feature selection towards functional and non-functional requirements in Software Product Lines , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[28]  Sebastian Krieter,et al.  A feature-based personalized recommender system for product-line configuration , 2016, GPCE.

[29]  Yehuda Koren,et al.  Matrix Factorization Techniques for Recommender Systems , 2009, Computer.

[30]  Eduardo Figueiredo,et al.  Software Variability Management: An Exploratory Study with Two Feature Modeling Tools , 2013, 2013 VII Brazilian Symposium on Software Components, Architectures and Reuse.

[31]  Sergio Segura,et al.  FAMA: Tooling a Framework for the Automated Analysis of Feature Models , 2007, VaMoS.

[32]  Myra Spiliopoulou,et al.  Hoeffding-CF: Neighbourhood-Based Recommendations on Reliably Similar Users , 2014, UMAP.

[33]  Jacques Klein,et al.  Feature Relations Graphs: A Visualisation Paradigm for Feature Constraints in Software Product Lines , 2014, 2014 Second IEEE Working Conference on Software Visualization.

[34]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[35]  Daniel Diaz,et al.  Recommendation Heuristics for Improving Product Line Configuration Processes , 2014, Recommendation Systems in Software Engineering.

[36]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[37]  Eduardo Figueiredo,et al.  A Systematic Literature Review of Software Product Line Management Tools , 2015, ICSR.

[38]  Dragan Gasevic,et al.  Configuring Software Product Line Feature Models Based on Stakeholders' Soft and Hard Requirements , 2010, SPLC.

[39]  Michael R. Lyu,et al.  Effective missing data prediction for collaborative filtering , 2007, SIGIR.

[40]  Danilo Beuche,et al.  Modeling and building software product lines with eclipse , 2004, OOPSLA '04.

[41]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[42]  Jaejoon Lee,et al.  Concepts and Guidelines of Feature Modeling for Product Line Software Engineering , 2002, ICSR.

[43]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[44]  Lior Rokach,et al.  Introduction to Recommender Systems Handbook , 2011, Recommender Systems Handbook.

[45]  Yaroslav O. Halchenko,et al.  Open is Not Enough. Let's Take the Next Step: An Integrated, Community-Driven Computing Platform for Neuroscience , 2012, Front. Neuroinform..