Articolo originale sotto licenza CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Immagina di essere l'editor di un enorme ricettario collaborativo. Migliaia di chef da diverse cucine hanno contribuito con le loro ricette. Con il tempo, noti un problema: le stesse istruzioni appaiono ripetutamente, anche se scritte in modo leggermente diverso.
- Uno chef scrive: "Aggiungi due tazze di farina."
- Un altro scrive: "Aggiungi 2 tazze di farina."
- Un terzo scrive: "Metti 2 tazze di farina."
Nel mondo del testing del software, queste istruzioni sono chiamate Gherkin steps. Sono le "ricette" che dicono a un computer come testare un software. Il problema è che, quando queste istruzioni sono duplicate o leggermente parafrasate, diventano un incubo da mantenere. Se devi cambiare un passaggio (come cambiare "Aggiungi farina" in "Aggiungi farina di mandorle"), potresti dover cercare ed editare migliaia di copie invece di una sola.
Questo articolo, intitolato "Déjà Vu at Scale," parla della creazione di uno strumento super intelligente per trovare questi duplicati, anche quando sono scritti in modi leggermente diversi, e della creazione di una gigantesca libreria di esempi per dimostrare che lo strumento funziona.
Ecco la suddivisione di ciò che hanno fatto, utilizzando analogie semplici:
1. Il Problema: L'effetto "Déjà Vu"
Gli autori hanno scoperto che nel mondo del software, la duplicazione è ovunque. Hanno esaminato 347 diversi progetti software (come 347 diversi ricettari) e hanno trovato oltre 1,1 milioni di istruzioni.
- Il Dato: Hanno scoperto che l'80% di queste istruzioni erano copie esatte di qualcos'altro.
- Il Problema: Se un'azienda vuole correggere un errore di battitura o cambiare una regola, potrebbe dover modificare migliaia di file. È come cercare di aggiornare una ricetta in un ricettario dove quella ricetta è scritta in 1.000 pagine diverse in 1.000 libri diversi.
2. La Soluzione: Un "Bibliotecario Intelligente"
Gli autori hanno costruito uno strumento chiamato cukereuse. Pensa a questo strumento come a un super-bibliotecario capace di leggere le istruzioni e capire che "Aggiungi 2 tazze" e "Aggiungi due tazze" sono la stessa cosa, anche se la grafia o la spaziatura sono diverse.
Non hanno usato un solo trucco, ma un sistema di difesa a quattro livelli per catturare i duplicati:
- Il Match Esatto: Se due istruzioni sono identiche fino all'ultimo carattere (come due fotocopie), le cattura istantaneamente.
- Il Match "Quasi Identico": Se le istruzioni sono uguali al 90% (come "Aggiungi 2 tazze" rispetto a "Aggiungi due tazze"), cattura anche quelle.
- Il Match di "Significato": Questa è la parte intelligente. Utilizza l'IA (chiamata Sentence Transformers) per comprenderne il significato. Sa che "L'utente clicca sul pulsante" e "Il cliccare sul pulsante da parte dell'utente" significano la stessa cosa, anche se le parole sono totalmente diverse.
- L'Ibrido: Combina i controlli "Quasi Identico" e di "Significato" per essere extra sicuro.
3. La Prova: Il Test dello "Standard d'Oro"
Per dimostrare che il loro bibliotecario fosse davvero bravo, non si sono limitati a indovinare. Hanno creato un enorme set di test:
- Hanno preso 1.020 coppie di istruzioni.
- Tre persone diverse (gli autori) le hanno lette manualmente e hanno deciso: "Sono duplicati o no?".
- Si sono assicurati che tutti concordassero sulle risposte (un punteggio alto chiamato Fleiss' κ = 0.84, che è come una squadra di giudici che concordano tutti su chi ha vinto un concorso).
- Il Risultato: Il loro strumento di "Match di Significato" era molto bravo, ma lo strumento di "Match Quasi Identico" era il più affidabile e onesto, identificando correttamente i duplicati circa l'82% delle volte senza confondersi con le regole del test.
4. La Grande Scoperta: Il Risparmio della "Consolidamento"
La parte più eccitante dell'articolo è la matematica che hanno fatto sui risparmi.
- Hanno scoperto che in un tipico progetto software, si potrebbero eliminare circa il 62,5% delle istruzioni duplicate e sostituirle con una singola istruzione "maestra".
- L'Analogia: Immagina di avere 100 pagine di un ricettario. Dopo aver usato questo strumento, ti rendi conto che hai bisogno solo di 37 pagine uniche. Le altre 63 pagine sono solo copie. Puoi buttarle via, rendendo il libro molto più sottile e facile da gestire.
- Hanno collegato questo dato allo ISO/IEC 25010, che è essenzialmente un regolamento globale per il "buon software". Hanno dimostrato che pulire questi duplicati rende il software più facile da modificare (Manutenibilità) e meno propenso a rompersi (Affidabilità).
5. Cosa hanno rilasciato al mondo
Gli autori non hanno tenuto per sé le loro scoperte. Hanno rilasciato un "kit di partenza" per chiunque voglia fare questa ricerca:
- I Dati: Una collezione massiccia di 1,1 milioni di istruzioni reali provenienti da progetti software pubblici.
- Il Test: Le 1.020 coppie di istruzioni con le risposte dello "standard d'oro".
- Lo Strumento: Il codice effettivo del software (cukereuse) che trova i duplicati.
- Le Regole: Una guida su come hanno deciso cosa conta come un duplicato.
Riassunto
In breve, questo articolo dice: "Le istruzioni per il testing del software sono piene di duplicati inutili, il che le rende difficili da gestire. Abbiamo costruito uno strumento intelligente che trova questi duplicati (anche quando sono scritti in modo diverso), abbiamo dimostrato che funziona con un test massiccio e di alta qualità, e abbiamo mostrato che risolvere questo problema potrebbe far risparmiare ai team di sviluppo una quantità enorme di tempo e sforzo. Stiamo regalando tutti i nostri strumenti e dati gratuitamente affinché altri possano usarli."
Cosa NON hanno affermato:
- Non hanno detto esattamente quanto denaro questo faccia risparmiare (perché ogni azienda paga i propri lavoratori in modo diverso).
- Non hanno detto che questo risolve tutti i problemi di qualità del software, ma solo il problema specifico dei duplicati nelle istruzioni.
- Non hanno affermato che il loro strumento funzioni su dati privati e segreti aziendali (poiché hanno guardato solo dati pubblici).
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.