ChatGPT può sostituire i tester software e gli analisti SQL?
Le prestazioni di correzione dei bug di ChatGPT sono state migliori rispetto ai risultati riportati per gli approcci di riparazione del programma standard

 
ChatGPT ora può trovare bug nei tuoi codici. Secondo un recente studio , ChatGPT è in grado di trovare e correggere circa il 77,5% dei bug. Un numero che è molto più alto delle sue controparti convenzionali di deep learning come CoCoNut e Codex se valutato sul set di benchmark standard per la correzione dei bug, QuixBugs. 

QuixBugs è radicato nella Quixey Challenge , in cui i concorrenti avevano il compito di correggere algoritmi difettosi in appena 1 minuto per una ricompensa di $ 100. Quixey, la società di ricerca di app per dispositivi mobili, ha tenuto questa sfida dal 2011 al 2013. Questi bug, sviluppati per le sfide umane, suscitano un interesse unico e riducono i pregiudizi degli sperimentatori, rendendo QuixBugs un eccellente set di dati per la ricerca sulla riparazione dei programmi.

Secondo lo studio , le prestazioni di correzione dei bug di ChatGPT sono state migliori rispetto ai risultati riportati per gli approcci di riparazione del programma standard. Il modello è stato in grado di correggere 31 dei 40 bug forniti. I ricercatori hanno scoperto che a volte il modello era in grado di trovare rapidamente una soluzione, mentre altre volte aveva bisogno di più avanti e indietro per comprendere il problema. Nonostante questa variabilità nella correzione dei bug, i ricercatori hanno notato che questo potrebbe effettivamente essere un vantaggio per gli utenti finali, poiché ripetere la richiesta più volte potrebbe portare a una risoluzione più chiara.

 
Per illustrare questo punto, i ricercatori hanno posto a ChatGPT una domanda sull’ottimizzazione di un programma. Si aspettavano che suggerisse di sostituire ‘n^=n-1’ con ‘n&=n-1′, ma la sua prima risposta è stata: “Non sono sicuro che ci sia un bug senza ulteriori informazioni su cosa ci si aspetta”. Tuttavia, dopo un po’ più avanti e indietro, ChatGPT ha identificato e risolto il problema nella sua terza risposta.

Ma ancora una volta, sta davvero aiutando gli sviluppatori là fuori? O è solo un altro tester di bug fornito con gli editor di testo? La comunità degli sviluppatori dispone già di compilatori che generano avvisi su vari tipi di bug che uno sviluppatore può avere. 

 

Per capire meglio, vediamo cosa può fare ChatGPT. Ad esempio, uno scrittore di Medium ha menzionato come si dimentica sempre di importare un determinato modulo nel suo codice ma fa ancora riferimento alla funzione del modulo. Quando è stato chiesto da ChatGPT, il modello è stato in grado di identificare il problema e risolverlo. 


Tapswi Godara, uno sviluppatore di Quinnox, ha valutato l’utilizzo di ChatGPT come bug tester dedicato, affermando che mentre il modello AI può aiutare a identificare i bug, la società potrebbe non essere a suo agio con la possibilità che i codici IP sensibili vengano resi pubblici in un Banca dati. Nonostante la sua utilità nei singoli progetti, Godara ritiene che fare affidamento esclusivamente su ChatGPT per il test dei bug potrebbe non essere in linea con le priorità dell’azienda.

“Se piattaforme come Sentry riescono a trovare un modo per integrare ChatGPT senza che i dati passino a un database pubblico, allora può essere una soluzione praticabile”, afferma Godara. 

Tuttavia, Krishna Rastogi, CTO, MachineHack, ritiene che ChatGPT possa ancora essere utilizzato in molti altri modi, se non come strumento standard per il test dei bug. “Ad esempio, se devo cercare ‘regex per la ricerca di lettere in MongoDB’, dovrei cercare su StackOverflow e controllare ogni singola opzione con il maggior numero di voti positivi se funzionano.” 


Con ChatGPT, Rastogi ritiene che il lavoro sia diventato molto più semplice. ChatGPT non solo fornisce una soluzione alla query, ma suggerisce anche alcuni esempi su come eseguire il particolare codice.


Possiamo davvero sostituire un analista SQL con prompt GPT ricorsivi?
Ken Van Haren, uno sviluppatore di Patterns, ha recentemente scritto un blog in cui ha discusso se è possibile sostituire un analista SQL con prompt GPT ricorsivi. Secondo lui, gli analisti SQL temono il lavoro dell’analisi su chiamata, dove la maggior parte delle volte il lavoro consiste nel rispondere a domande ad hoc dai vari team operativi e di prodotto dell’azienda. 

Per verificare se lo stesso lavoro può essere eseguito da un bot di analisi alimentato da GPT-3, lo sviluppatore ha creato CrunchBot, che era fondamentalmente un bot di analisi con risposta alle domande in formato libero in cima al set di dati Crunchbase di investitori, aziende e raccolta fondi giri.

Inutile dire che è riuscito a costruirlo e il bot è stato in grado di ottenere risposte corrette a domande facili e di medio livello, ma si è confuso su domande complesse. Ad esempio, alla domanda “Chi sono stati i maggiori investitori di Bitcoin nel 2022?”, il bot ha ottenuto risultati insieme all’SQL utilizzato.


Secondo Haren, “giocando con GPT a questo livello, si ha la sensazione che il ‘GPT ricorsivo’ sia molto vicino all’AGI”.

Tuttavia, gli analisti SQL possono davvero essere sostituiti da GPT ricorsivo? Secondo Rastogi, non è possibile. Crede che progetti appassionati come questi possano aiutare i nuovi sviluppatori o qualcuno senza esperienza nella programmazione. “Ma dire che GPT ricorsivo può sostituire l’analista SQL è come dire che Grammarly ha sostituito gli editor”, afferma Rastogi. Dice che i linguaggi come SQL vengono aggiornati di frequente e la creazione di un modello ricorsivo ogni volta che viene aggiornato un linguaggio richiede molto tempo. 

“Quindi, sebbene possa aiutare i programmatori in erba e quelli meno esperti, non si può presumere che GPT ricorsivo possa sostituire l’analista SQL”, ha concluso Rastogi. 

DI LOKESH CHOUDHARY da analyticsindiamag.com

Di ihal