Questo grafico illustra come SapFix genera patch per i bug del software. Credito:Facebook
Facebook ha escogitato qualcosa chiamato SapFix e il loro annuncio indica una gradita misura di supporto per il lavoro faticoso di debug; SapFix può fare affidamento sull'intelligenza artificiale e trovare alcune risposte che fanno risparmiare tempo. Lo strumento consiste nel trovare e correggere automaticamente i bug. In quanto tale, ha il potenziale non solo per aumentare la qualità della produzione del codice, ma anche la velocità di generazione del codice.
Gli ingegneri di Facebook Yue Jia, Ke Mao, e Mark Harman hanno scritto dello strumento trova e correggi nel loro blog.
"Il debug del codice è faticoso, " scrissero, ma questo nuovo strumento ibrido di intelligenza artificiale può ridurre il tempo impiegato dagli ingegneri per il debug. SapFix può generare automaticamente correzioni per bug specifici, quindi proporli agli ingegneri per l'approvazione e la distribuzione in produzione.
La loro descrizione mostra chiaramente che questo non è un sostituto dell'esperienza umana poiché gli ingegneri sono sempre tenuti al corrente; la loro esperienza è chiamata a confermare che le correzioni proposte dovrebbero essere effettivamente implementate. Lo strumento si basa sull'intelligenza artificiale per suggerire correzioni per errori di programmazione, e poi arriva l'elemento umano in cui gli umani (ingegneri del software) possono approvare e distribuire.
"È una pietra miliare importante per gli ibridi di intelligenza artificiale e offre ulteriori prove del fatto che l'ingegneria del software basata sulla ricerca può ridurre l'attrito nello sviluppo del software, " loro hanno detto.
Tempi SD ha guidato i lettori attraverso ciò che SapFix può fare:(1) trovare il bug (2) generare una correzione e (3) proporre un piano d'azione per gli ingegneri da elaborare prima del lancio in produzione.
Lo strumento può anche trovare più di una singola patch. Può generare più correzioni per bug e valutarne la qualità. L'identificazione di un crash del codice semaforo rosso è passata a SapFix, disse Il registro , che poi decide su alcune possibili strategie per generare una patch.
Oltre a SapFix è stata menzionata lo strumento di test automatizzato del software di Facebook, nell'articolo di Christina Cardoza di Tempi SD .
SapFix è ancora in fase di sviluppo, quindi da non confondere con Sapienz, producendo centinaia di segnalazioni mensili di bug. Gli ingegneri hanno anche scritto sul blog, "Ma da quando abbiamo iniziato a testare SapFix ad agosto, lo strumento ha generato con successo patch che sono state accettate dai revisori umani e portate in produzione."
I blogger hanno detto questo sulle direzioni future. "Mentre sviluppiamo SapFix per lavorare con diversi tipi di bug e software, lo strumento ha il potenziale per cambiare la velocità e la qualità della generazione del codice. Questo è vero non solo per le aziende che operano su larga scala, ma anche per quasi tutti coloro che creano codice. Sia usato insieme o separatamente, SapFix e Sapienz consentono agli sviluppatori di dedicare meno tempo al debug e più alla generazione di ciò che verrà dopo."
Vuoi un assaggio di come SapFix cerca soluzioni? Thomas Claburn in Il registro :
"Può annullare completamente o parzialmente il commit passato che ha introdotto il bug, oppure può recuperare una correzione da una libreria di riparazioni basate su modelli derivate da patch di codice archiviate in passato dagli ingegneri software dell'azienda. Se queste opzioni non funzionano, SapFix prova ad apportare modifiche minori al codice all'albero della sintassi astratta dell'istruzione responsabile dell'arresto anomalo, nella speranza di migliorare il problema".
© 2018 Tech Xplore