• 27 Gennaio 2025 20:10

Corriere NET

Succede nel Mondo, accade qui!

Il bot che ripara i bug e inganna gli umani, è un test di Turing superato?

Nov 19, 2018

Esistono molti sistemi automatici per trovare e correggere i bug nel software, compreso uno così credibile che è stato preso per un essere umano da altri sviluppatori. Si chiama Repairnator e lo ha creato Martin Monperrus, insieme a un team di ricercatori presso il KTH Royal Institute of Technology di Stoccolma (Svezia).

Repairnator è un bot che esamina il software, trova i bug ed scrive patch correttive. E lo fa piuttosto bene, visto che i suoi “colleghi” umani hanno visto il suo lavoro e lo hanno accettato – credendo che a scriverlo fosse stata una persona. Repairnator si è dunque rivelato un po’ più bravo rispetto ad altri software automatici – il cui codice in genere non è di buona qualità, per quanto possa tornare utile per velocizzare lo sviluppo.

Per realizzare il loro esperimento Monperrus e colleghi ha “travestito” Repairnator da programmatore iscritto a GitHub con il nome di Luc Escape. Guardando il profilo, sembra un giovane ricercatore del loro laboratorio. L’inganno si è reso necessario per assicurarsi che le patch pubblicate da Repairnator fossero giudicate senza pregiudizi dagli utenti GitHub – a quanto pare tendono ad avere qualche pregiudizio con i bot.

Il test è stato diviso in due sessioni: da febbraio a dicembre 2017 Repairnator è intervenuto su 14.188 progetti GitHub, dimostrandosi capace di fare 30 tentativi di correzione al giorno. Ha analizzato 11.500 progetti, riuscendo a riprodurre i problemi in 3.000 casi. E ha poi sviluppato quindici patch correttive. Nessuna di queste è stata però accettata, perché arrivata troppo tardi o giudicata di qualità scadente.

I ricercatori hanno quindi deciso di restringere il campo di azione, facendo lavorare Repairnator su un solo progetto. La seconda sessione ha avuto luogo da gennaio a giugno 2018, mesi durante i quali Repairnator ha lavorato su Travis CI. Già nei primi giorni, il 12 gennaio scorso, ha sviluppato una patch poi accettata dai moderatori. In quell’occasione Repairnator è stato “competitivo con gli esseri umani per la prima volta”. Dopo quella prima volta, sono state altre cinque le patch accettate.


Ci si può forse azzardare a parlare di un test di Turing parziale ma superato. Più importante, forse, è il fatto che strumenti come questo probabilmente cambieranno profondamente il mondo dello sviluppo software nei prossimi anni – se non altro perché daranno agli sviluppatori un po’ (o molto) tempo in più per concentrarsi sulla parte creativa del lavoro. La ricerca e la correzione dei bug infatti, a oggi, assorbe ancora moltissime ore lavoro in tutto il mondo.

La cattiva notizia è che quelle persone e quelle aziende che oggi ne hanno fatto un mestiere, forse, potrebbero avere qualcosa di cui preoccuparsi.

Fare un programma senza bug è probabilmente impossibile, ma tenersi vicino un manuale di Python può essere di aiuto.

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. Guarda la Policy

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close