A Low-Code Tool Supporting the Development of Recommender Systems

The design of recommender systems (RSs) to support software development encompasses the fulfillment of different steps, including data preprocessing, choice of the most appropriate algorithms, item delivery. Though RSs can alleviate the curse of information overload, existing approaches resemble black-box systems, in which the end-user is not expected to fine-tune or personalize the overall process. In this work, we propose LEV4REC, a low-code environment to assist developers in designing, configuring, and delivering recommender systems. The first step supported by the proposed tool includes defining an initial model that allows for the configuration of the crucial components of the wanted RS. Then, a subsequent phase is performed to finalize the RS design, e.g., to specify configuration parameters. LEV4REC is eventually capable of generating source code for the desired RS. To evaluate the capabilities of the approach, we used LEV4REC to specify two existing RSs built on top of two different recommendation algorithms, i.e., collaborative filtering and supervised machine learning.

[1]  Juan de Lara,et al.  Towards automating the construction of recommender systems for low-code development platforms , 2020, MoDELS.

[2]  Davide Di Ruscio,et al.  Democratizing the development of recommender systems by means of low-code platforms , 2020, MoDELS.

[3]  Wes McKinney,et al.  pandas: a Foundational Python Library for Data Analysis and Statistics , 2011 .

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

[5]  Tommaso Di Noia,et al.  Elliot: A Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation , 2021, SIGIR.

[6]  Massimiliano Di Penta,et al.  CrossRec: Supporting software developers by recommending third-party libraries , 2020, J. Syst. Softw..

[7]  J. Bobadilla,et al.  Recommender systems survey , 2013, Knowl. Based Syst..

[8]  Martin P. Robillard,et al.  Recommendation Systems in Software Engineering , 2014, Springer Berlin Heidelberg.

[9]  Kaiyong Zhao,et al.  AutoML: A Survey of the State-of-the-Art , 2019, Knowl. Based Syst..

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

[11]  Michael D. Ekstrand LensKit for Python: Next-Generation Software for Recommender Systems Experiments , 2020, CIKM.

[12]  Martin P. Robillard,et al.  Recommendation Systems for Software Engineering , 2010, IEEE Software.

[13]  Juri Di Rocco,et al.  Development of recommendation systems for software engineering: the CROSSMINER experience , 2021, Empir. Softw. Eng..

[14]  Alexander Felfernig,et al.  An Overview of Recommender Systems and Machine Learning in Feature Modeling and Configuration , 2021, VaMoS.

[15]  Juri Di Rocco,et al.  Development of recommendation systems for software engineering: the CROSSMINER experience , 2021, ArXiv.

[16]  Ting-Hsiang Wang,et al.  AutoRec: An Automated Recommender System , 2020, RecSys.