Amazon lancia AWS BugBust per stimolare l'adozione di strumenti di codifica basati sull'intelligenza artificiale

11

Qual è la posizione della tua azienda nella curva di adozione dell'AI? Partecipa al nostro sondaggio sull'intelligenza artificiale per scoprirlo.

I guasti del software sono costosi e in aumento. Si stima che dal 19% al 23% dei progetti di sviluppo software fallisce e Standish Group ha scoperto che i progetti "sfidati", ovvero quelli che non soddisfano le aspettative di ambito, tempo o budget, rappresentano circa il 52% dei progetti software. Secondo un progetto congiunto di Undo e Cambridge Judge Business School, questi bug costano alle aziende circa 61 miliardi di dollari all'anno e circa 620 milioni di ore di sviluppo vengono sprecate per il debug.

Una soluzione parziale al problema della garanzia della qualità potrebbe essere l'apprendimento automatico, che potrebbe aumentare i flussi di lavoro degli sviluppatori per facilitare l'individuazione di bug critici nel software. Il servizio CodeGuru di Amazon adotta questo approccio, attingendo a modelli di apprendimento automatico addestrati con milioni di righe di codice per consigliare correzioni per gli sviluppatori, risolvere problemi di prestazioni e rilevare anomalie.

Per attirare l'attenzione su CodeGuru e strumenti basati sull'intelligenza artificiale come questo, Amazon ha lanciato oggi Amazon Web Services (AWS) BugBust, una sfida internazionale che invita gli sviluppatori a correggere 1 milione di bug software e realizzare $ 100 milioni di debito tecnico. Gli sviluppatori di tutto il mondo possono partecipare alla sfida creando eventi BugBust per la loro organizzazione utilizzando CodeGuru e competere per i premi su una classifica identificando e risolvendo i bug nelle loro basi di codice e app.

"BugBust ti consente di creare una sfida per la tua organizzazione per elaborare un elenco di potenziali problemi", ha detto il CTO di Amazon Werner Vogels a VentureBeat in un'intervista telefonica questa settimana. "Rende un po' un gioco la correzione dei bug: chi riesce a trovare il maggior numero di bug e a salire nelle classifiche. L'obiettivo è rendere l'eliminazione dei bug e la ricerca di problemi di prestazioni una cosa divertente da fare invece che un lavoro di routine".

Sfide pandemiche

La pandemia ha dato origine a guasti del software che altrimenti non si sarebbero verificati. L'apprendimento a distanza, gli esami online e i requisiti per il lavoro da casa hanno portato un enorme afflusso di utenti online, mettendo sotto pressione il software che non era necessariamente progettato per gestire il volume. Secondo un rapporto McKinsey, a ottobre le interazioni tra clienti e aziende nordamericane sono per il 65% digitali rispetto al 41% pre-pandemia. E quasi i due terzi dei knowledge worker hanno aumentato l'uso di strumenti di collaborazione da quando lavorano da casa, secondo un sondaggio di Asana.

A complicare le cose, c'è un'enorme carenza di talenti per gli sviluppatori. Si stima che solo il 2% della popolazione mondiale sappia come sviluppare software e si prevede che il fabbisogno globale crescerà del 24% nei prossimi sette anni.

CodeGuru può dare una mano qui, sostiene Vogels, liberando gli sviluppatori con un tempo limitato per concentrarsi su attività importanti. "Penso che in questi giorni, sicuramente con le trasformazioni digitali, ci sia una pressione per costruire le cose", ha detto. “[We talk to many organizations] che vorrebbero rivedere il proprio codice per capire per una particolare app che hanno creato cinque anni fa dove stanno andando le risorse, ad esempio colli di bottiglia della CPU, colli di bottiglia della memoria e perdite di memoria. Le organizzazioni di solito non riescono a trovare il tempo per farlo, quindi stiamo cercando di automatizzarlo ulteriormente".

A tal fine, CodeGuru offre due strumenti progettati per l'ottimizzazione del codice: Profiler e Reviewer. Il revisore utilizza l'analisi del programma e l'apprendimento automatico per rilevare potenziali difetti nei repository di codice e offrire suggerimenti. Sebbene non segnali determinati errori, il revisore può identificare i problemi relativi alle migliori pratiche, alla convalida dell'input, all'analisi della sicurezza, alla qualità del codice e altro ancora.

Per quanto riguarda Profiler, raccoglie i dati sulle prestazioni di runtime da un'app live e fornisce consigli che possono aiutare a ottimizzare le prestazioni dell'app. Utilizzando l'apprendimento automatico, Profiler cerca di trovare le righe di codice più costose e suggerisce modi in cui è possibile migliorare l'efficienza, eliminando i colli di bottiglia delle dipendenze o riducendo il gonfiore.

Amazon afferma che Reviewer, che può scansionare 1 milione di righe di codice in 30 minuti, ha già analizzato oltre 200 milioni di righe e prodotto 165.000 consigli sulle correzioni per gli sviluppatori, inclusi 25.000 sviluppatori Amazon. Inoltre, la società afferma che i suoi team interni hanno utilizzato Profiler su oltre 30.000 app distribuite in produzione.

L'idea alla base di BugBust è consentire alle organizzazioni di utilizzare CodeGuru per correggere i bug. Gli sviluppatori della regione AWS degli Stati Uniti orientali (Virginia settentrionale), con altre regioni in arrivo, possono rivendicare e eliminare i bug per competere all'interno delle loro organizzazioni e a livello internazionale per avere la possibilità di vincere premi; distintivi; e un viaggio ad AWS re:Invent, la conferenza annuale degli sviluppatori di Amazon, che ospiterà un evento BugBust dal vivo.

“[We’re trying to] motivare le persone a utilizzare effettivamente questi strumenti non solo come parte della loro nuova costruzione quotidiana del codice, ma anche a iniziare a guardare il vecchio codice – codice che hanno da molto tempo – per vedere se effettivamente lo adottano e lo ottimizzano ", Vogels disse. "Non succede abbastanza e non ha la priorità in tutte le organizzazioni".

Guardando avanti

Nonostante il loro potenziale, gli strumenti di assistenza alla codifica come CodeGuru hanno dei limiti. Il revisore supporta solo il codice scritto in Python o Java e non può individuare errori sintattici, ad esempio. E ricerche recenti suggeriscono che anche i migliori modelli non possono imparare a generare risposte a problemi di codifica difficili senza errori di sintassi.

Ma Vogels nota che CodeGuru è progettato per auto-migliorarsi dal feedback dei clienti, che funge da segnale nella riqualificazione dei modelli di individuazione dei bug. Questo è probabilmente superiore ai processi di revisione manuale del codice, di cui solo una minoranza di sviluppatori di software afferma di essere soddisfatta, secondo uno studio SmartBear.

"Si basa sia sull'estrazione di regole che sull'apprendimento automatico: è una combinazione di regressione logistica e reti neurali", ha affermato Vogels. “[CodeGuru is] migliorerà sempre di più nel tempo, in un numero sempre maggiore di lingue… È una nuova serie di regole che vengono create ogni volta che eseguiamo questo.

In definitiva, afferma Vogels, l'obiettivo di CodeGuru e BugBust è aumentare gli sviluppatori, non sostituirli. Mentre le funzioni semplici potrebbero alla fine essere gestite da motori di correzione del codice, la necessità di programmatori che scrivono app e API di livello superiore non scomparirà nel prossimo futuro.

"La programmazione è una professione artistica", ha detto. "Tendiamo a creare cose nuove ogni giorno ed essere in grado di concentrarci sulle parti di creazione e automatizzare alcune delle parti più noiose ma molto importanti relative alle prestazioni e alla sicurezza è una cosa fondamentale".

VentureBeat

La missione di VentureBeat è quella di essere una piazza cittadina digitale per i responsabili delle decisioni tecniche per acquisire conoscenze sulla tecnologia trasformativa e sulle transazioni.

Il nostro sito fornisce informazioni essenziali sulle tecnologie e sulle strategie dei dati per guidarti nella guida delle tue organizzazioni. Ti invitiamo a diventare un membro della nostra community, per accedere a:

  • informazioni aggiornate sugli argomenti di tuo interesse
  • le nostre newsletter
  • contenuti gated leader di pensiero e accesso scontato ai nostri eventi preziosi, come Trasforma 2021: Per saperne di più
  • funzioni di rete e altro

Diventare socio