DevOptimizeAI: strumento basato su GPT per supportare gli sviluppatori in uno scenario DevOps
View/ Open
Author
Penco, Alessandro <1999>
Date
2023-12-13Data available
2023-12-21Abstract
Il contributo principale di questa tesi è quello di affrontare la sfida pressante di mantenere un software di alta qualità in grandi team con sviluppatori di diversi livelli di esperienza.
In particolare, presenta una valutazione dell'efficacia dei modelli GPT, abbinati ad Apache JMeter, nel supportare gli sviluppatori in uno scenario DevOps di sviluppo di API REST tramite Azure Functions. Inoltre, la tesi mira a identificare i potenziali benefici che si possono ottenere dall'utilizzo dell'approccio discusso in uno scenario più ampio dello sviluppo software, ad esempio per identificare le aree che necessitano di miglioramenti o risolvere gli errori logici nel codice e guidare gli sviluppatori attraverso il processo di implementazione del codice.
Per affrontare questa sfida, questa tesi discute lo sviluppo di uno strumento, chiamato DevOptimizeAI, che può migliorare le pipeline CI nello scenario precedentemente descritto. Lo strumento sarà composto da due parti fondamentali: un'applicazione web per la creazione di codice YAML da copiare e incollare nella pipeline dello sviluppatore e una coppia di fasi della pipeline. La prima esegue i test con JMeter e prepara i risultati, la seconda analizza i risultati opportunamente adattati e uniti al codice della Azure Function tramite un modello GPT e fornisce raccomandazioni per il miglioramento del codice allo sviluppatore.
I risultati dimostrano che lo strumento ha il potenziale per migliorare significativamente l'efficienza e la qualità di Azure Functions, fornendo sempre raccomandazioni su misura e accelerando i tempi di sviluppo, che in ultima analisi porteranno a prodotti e servizi migliori per gli utenti finali. The main contribution of this thesis is to address the pressing challenge of maintaining high-quality software in large teams with developers of different experience levels.
In particular, it presents an evaluation of the effectiveness of GPT models, coupled with Apache JMeter, in supporting developers in a DevOps scenario of REST API development via Azure Functions. Furthermore, the thesis aims to identify the potential benefits that can be gained from using the discussed approach in the broader software development scenario, e.g. to identify areas in need of improvement or resolve logical errors in code and guide developers through the code implementation process.
To address this challenge, this thesis discusses the development of a tool, called DevOptimizeAI, that can enhance CI pipelines in the previously described scenario.
The tool will consist of two basic parts: a web app form for creating YAML code to be copy\&pasted to the developer's pipeline and a pair of pipeline stages. The former runs tests with JMeter and prepares the results, the latter analyzes the results properly adapted and merged to the Azure Function code via a GPT model and delivers code improvement recommendations to the developer.
Results show that the tool has the potential to significantly improve the efficiency and quality of Azure Functions by always providing tailored recommendations as well as speeding up development time, which will ultimately lead to better products and services for end users.
Type
info:eu-repo/semantics/masterThesisCollections
- Laurea Magistrale [4853]