Il debito tecnologico accumulato durante lo sviluppo del software è sempre stato un argomento assai caro a Cassandra, che gli ha dedicato un articolo che le piace molto ed un’intera serie di esternazioni.
Ma la vostra profetessa preferita questa volta vuole parlarvi del fenomeno di oggi che preoccupa tutti, anche quelli che in realtà non sono affatto preoccupati, ma addirittura ci marciano per convenienza personale.
Un po’ di storia, come al solito.
Indice degli argomenti
Debito tecnologico: gli errori accumulati nel software
Il mondo dello sviluppo del software ha sempre fatto piuttosto schifo; col passare degli anni il software sviluppato è sempre aumentato di quantità e peggiorato di qualità, facendo sempre più schifo.
Negli ultimi decenni, in certi casi fin dagli anni ‘70, nel software che ci circonda si è accumulato un enorme debito tecnologico, composto da errori di programmazione fatti da umani, e per la maggior parte mai emersi durante l’utilizzo normale del software. Errori che ogni tanto mordevano qualcuno e causavano incidenti e perdite economiche.
Gli LLM trovano vulnerabilità: difesa, attacchi e armi informatiche
Tre anni fa, con l’avvento dei grandi modelli linguistici, si è scoperto che sottoponendo ad un LLM i codici sorgenti dei software, potevano rapidamente ed economicamente essere trovati probabili errori di programmazione, che poi un umano poteva facilmente distillare e validare.
Lo hanno fatto i buoni, che hanno cominciato a migliorare leggermente la qualità di alcuni, pochi software.
Lo hanno fatto i cattivi, che hanno identificato nello stesso modo degli errori, hanno distillato quelli che potevano servire per realizzare attacchi, e si sono messi all’opera come mai prima.
Lo hanno fatto i cybersoldati, senza farsene accorgere da nessuno, ed hanno utilizzato gli stessi errori, già identificati dai buoni e dai cattivi, per progettare ed immagazzinare armi informatiche per un loro futuro uso in una guerra ibrida.
Tutto quanto sopra si può riassumere in un’unica frase.
Stiamo pagando oggi il debito tecnologico accumulato nel software, debito che è stato generato da decenni di programmazione schifosa.
E questa ormai è storia.
Vibe coding: il rischio di nuovo debito tecnologico
Abbiamo quindi imparato qualcosa? Gli LLM ci salveranno ed azzereranno il debito tecnologico accumulato nel software?
Cassandra è certa di no, e vi spiegherà perché.
Gli LLM hanno nel frattempo generato la “moda” (vibe coding) di programmare facendo scrivere il codice dai modelli linguistici stessi, con verifiche solo funzionali e poco o nessun controllo “umano” del codice generato.
Quindi hanno abilitato a scrivere (si fa per dire) software una grande quantità di persone che, senza i modelli linguistici, non avrebbero saputo nemmeno da che parte cominciare.
Contemporaneamente gli LLM sono stati introdotti anche nel lavoro dei normali programmatori; anche loro oggi programmano con verifiche solo funzionali e poco o nessun controllo del codice generato
Questo ha prodotto grandi guadagni di produttività, guadagni espressi però in numero di linee di codice per programmatore e per settimana, o con metriche simili.
Lasciamo perdere, ma solo per oggi, gli impatti sociali ed economici della questione, e concentriamoci invece sul debito tecnologico. La qualità dello sviluppo odierno del software continua ad essere sempre più schifosa, ma da altri punti di vista.
Sicurezza del software: gli errori si spostano nell’architettura
Secondo Cassandra, che nella sua storia proprio digiuna di sviluppo software non è stata, gli “errori” si sono spostati da semplici problemi di programmazione come un input memorizzato in una variabile senza un controllo di sanità, a scelte errate di architettura e di interfaccia tra routine, soprattutto dal punto di vista della sicurezza.
Cassandra è pronta a scommettere che questa ed altre tipologie di errori non siano facilmente localizzabili neppure con gli LLM, e rappresentino quindi un diverso tipo di debito tecnologico software che ha iniziato ad accumularsi. Debito che sarà sempre più difficile da rimuovere, perché non localizzato in una linea di codice, ma contenuto nella struttura stessa del software.
Chi pagherà il nuovo debito tecnologico
Quando verrà pagato questo nuovo debito, se gli LLM non fossero in grado di localizzarlo? E chi dovrà pagarlo?
Ma soprattutto, verrà pagato con perdite economiche e normali violazioni di sicurezza?
O non piuttosto, come Cassandra teme, con eventi catastrofici ed imprevedibili, roba da migliaia di morti, causati dal collasso di infrastrutture o da attacchi cibernetici?
Scrivere a Cassandra – Mastodon – Buttondown.com
Videorubrica “Quattro chiacchiere con Cassandra”
Lo Slog (Static Blog) di Cassandra
L’archivio di Cassandra: scuola, formazione e pensiero
Cassandra per i posteri: l’archivio su Internet Archive
Licenza d’utilizzo: i contenuti di questo articolo, dove non diversamente indicato, sono sotto licenza Creative Commons Attribuzione — Condividi allo stesso modo 4.0 Internazionale (CC BY-SA 4.0), tutte le informazioni di utilizzo del materiale sono disponibili a questo link.































Partecipa alla community