To perform their daily tasks, developers intensively make use of existing resources by consulting open-source software (OSS) repositories. Such platforms contain rich data sources, e.g., code snippets, documentation, and user discussions, that can be useful for supporting development activities. Over the last decades, several techniques and tools have been promoted to provide developers with innovative features, aiming to bring in improvements in terms of development effort, cost savings, and productivity. Recommender systems (RSs) are complex software systems that suggest relevant items of interest given a specific application domain to users. The development of RSs encompasses the execution of different steps, including data preprocessing, choice of appropriate algorithms, and item delivery, to name a few. Though RSs can alleviate the curse of information overload, existing approaches resemble black-box systems, where the end-user is not supposed to customize the overall process. This dissertation aims to advance the current state-of-the-art by conceptualizing a series of recommender systems to support software developers. Furthermore, we also investigate different types of adversarial attacks that these systems may encounter. Finally, we propose an MDE-based tool that automatizes the design, fine-tuning, and deployment of any recommender system. By relying on the experience gained in the CROSSMINER project, we elicit foundational aspects of RSs that come in handy in defying essential components of a generic RS. We investigate the feasibility of cutting-edge technologies applied to the RS domain, i.e., machine learning, stochastic networks, and natural process languages (NLP) strategies, by proposing recommendation systems to support developers in different SE tasks, including API function calls, categorization of GitHub projects, and modeling activities. Afterward, a tailored metamodel has been built to generate the actual system using MDE-based technology, following the low-code paradigm to democratize the usage of the RS. The proposed tool called LEV4REC is capable of resembling existing systems in terms of different metrics. Altogether, we elicit the fundamental components relying on the prior knowledge matured in developing actual recommender systems. Such experience has been used to develop an MDE-based tool specifically conceived to reduce the overall effort for newcomers users who do not have prior knowledge of such systems. Although there is still room for improvement, all the proposed approaches in this dissertation succeeded in providing decent recommendations for the covered application domains, thus facilitating the completion of various software engineering tasks.

Concettualizzazione e sviluppo di sistemi di raccomandazione basati sull'apprendimento automatico per l'ingegneria del software / DI SIPIO, Claudio. - (2023 Jul 26).

Concettualizzazione e sviluppo di sistemi di raccomandazione basati sull'apprendimento automatico per l'ingegneria del software

DI SIPIO, CLAUDIO
2023-07-26

Abstract

To perform their daily tasks, developers intensively make use of existing resources by consulting open-source software (OSS) repositories. Such platforms contain rich data sources, e.g., code snippets, documentation, and user discussions, that can be useful for supporting development activities. Over the last decades, several techniques and tools have been promoted to provide developers with innovative features, aiming to bring in improvements in terms of development effort, cost savings, and productivity. Recommender systems (RSs) are complex software systems that suggest relevant items of interest given a specific application domain to users. The development of RSs encompasses the execution of different steps, including data preprocessing, choice of appropriate algorithms, and item delivery, to name a few. Though RSs can alleviate the curse of information overload, existing approaches resemble black-box systems, where the end-user is not supposed to customize the overall process. This dissertation aims to advance the current state-of-the-art by conceptualizing a series of recommender systems to support software developers. Furthermore, we also investigate different types of adversarial attacks that these systems may encounter. Finally, we propose an MDE-based tool that automatizes the design, fine-tuning, and deployment of any recommender system. By relying on the experience gained in the CROSSMINER project, we elicit foundational aspects of RSs that come in handy in defying essential components of a generic RS. We investigate the feasibility of cutting-edge technologies applied to the RS domain, i.e., machine learning, stochastic networks, and natural process languages (NLP) strategies, by proposing recommendation systems to support developers in different SE tasks, including API function calls, categorization of GitHub projects, and modeling activities. Afterward, a tailored metamodel has been built to generate the actual system using MDE-based technology, following the low-code paradigm to democratize the usage of the RS. The proposed tool called LEV4REC is capable of resembling existing systems in terms of different metrics. Altogether, we elicit the fundamental components relying on the prior knowledge matured in developing actual recommender systems. Such experience has been used to develop an MDE-based tool specifically conceived to reduce the overall effort for newcomers users who do not have prior knowledge of such systems. Although there is still room for improvement, all the proposed approaches in this dissertation succeeded in providing decent recommendations for the covered application domains, thus facilitating the completion of various software engineering tasks.
26-lug-2023
Concettualizzazione e sviluppo di sistemi di raccomandazione basati sull'apprendimento automatico per l'ingegneria del software / DI SIPIO, Claudio. - (2023 Jul 26).
File in questo prodotto:
File Dimensione Formato  
thesis.pdf

accesso aperto

Descrizione: Conceptualization and Development of ML-based Recommender Systems for Software Engineering
Tipologia: Tesi di dottorato
Dimensione 10.49 MB
Formato Adobe PDF
10.49 MB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11697/213764
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact