• Home
  • Chimica
  • Astronomia
  • Energia
  • Natura
  • Biologia
  • Fisica
  • Elettronica
  • Lo strumento NIST consente test più completi su software ad alto rischio

    Credito: whiteMocca/Shutterstock/N.Hanacek/NIST

    Affidiamo la nostra vita al software ogni volta che saliamo a bordo di un aereo ad alta tecnologia o di un'auto moderna. Uno sforzo di ricerca a lungo termine guidato da due ricercatori del National Institute of Standards and Technology (NIST) e dai loro collaboratori ha sviluppato nuovi strumenti per rendere ancora più sicuro questo tipo di software critico per la sicurezza.

    Potenziamento di un toolkit software esistente, la nuova creazione del team di ricerca può rafforzare i test di sicurezza che le aziende di software conducono sui programmi che aiutano a controllare i nostri veicoli, far funzionare le nostre centrali elettriche e gestire altre tecnologie impegnative. Sebbene questi test siano spesso costosi e dispendiosi in termini di tempo, riducono la probabilità che questo codice complesso si guasti perché ha ricevuto una combinazione inaspettata di dati di input. Questa fonte di problemi può affliggere qualsiasi pacchetto software sofisticato che deve monitorare e rispondere in modo affidabile a più flussi di dati che fluiscono da sensori e operatori umani in ogni momento.

    Con il toolkit di ricerca chiamato Automated Combinatorial Testing for Software, o ATTI, le società di software possono assicurarsi che non vi siano combinazioni di input simultanee che potrebbero inavvertitamente causare un errore pericoloso. Come un parallelo approssimativo, pensa a una scorciatoia da tastiera, come premere CTRL-ALT-DELETE per ripristinare un sistema intenzionalmente. Il rischio con il software critico per la sicurezza è che possano esistere combinazioni che creano conseguenze involontarie.

    Fino ad ora, non c'era modo di essere certi che tutte le combinazioni significative in sistemi molto grandi fossero state testate:una situazione rischiosa. Ora, con l'aiuto dei progressi compiuti dal gruppo di ricerca, anche software che ha migliaia di variabili di input, ognuno dei quali può avere un range di valori, può essere testato a fondo.

    Il toolkit ACTS del NIST ora include una versione aggiornata di Combinatorial Coverage Measurement (CCM), uno strumento che dovrebbe aiutare a migliorare la sicurezza e ridurre i costi del software. L'industria del software spesso spende da sette a 20 volte di più per rendere affidabile il software critico per la sicurezza rispetto al codice più convenzionale.

    I risultati sottoposti a revisione paritaria del team di ricerca compaiono in due documenti che il team presenterà il 23 aprile alla Conferenza internazionale IEEE 2019 sui test del software, Verifica e convalida a Xi'an, Cina. La ricerca include collaboratori dell'Università del Texas ad Arlington, Adobe Systems Inc. e SBA Research austriaca.

    Il matematico del NIST Raghu Kacker ha affermato che il CCM rappresenta un sostanziale miglioramento del toolkit ACTS dalla sua ultima importante aggiunta nel 2015.

    "Prima di rivedere il CCM, era difficile testare un software che gestisse a fondo migliaia di variabili, " ha detto Kacker. "Questa limitazione è un problema per il software moderno complesso del tipo che viene utilizzato negli aerei di linea passeggeri e nelle centrali nucleari, perché non è solo altamente configurabile, è anche critico per la vita. La vita e la salute delle persone dipendono da questo".

    Gli sviluppatori di software si sono scontrati per decenni con bug che derivano da combinazioni di input impreviste, così il NIST ha iniziato a esaminare le cause dei guasti del software negli anni '90 per aiutare l'industria. Si è scoperto che la maggior parte dei guasti riguardava un singolo fattore o una combinazione di due variabili di input:la temperatura e la pressione di un dispositivo medico, ad esempio, causando un ripristino del sistema nel momento sbagliato. Alcuni hanno coinvolto fino a sei variabili di input.

    Poiché una singola variabile di input può avere un intervallo di valori potenziali e un programma può avere molte di tali variabili, può essere un'impossibilità pratica di testare ogni combinazione immaginabile, quindi i tester si affidano alla strategia matematica per eliminare ampie fasce di possibilità. A metà degli anni 2000, il toolkit NIST potrebbe controllare gli input in combinazioni fino a sei vie, eliminando molti rischi di errore.

    "I nostri strumenti hanno preso piede, ma alla fine, ti chiedi ancora quanto bene hai fatto, quanto sono stati approfonditi i tuoi test, ", ha affermato l'informatico del NIST Richard Kuhn, che ha lavorato con Kacker al progetto. "Abbiamo aggiornato CCM in modo che potesse rispondere a queste domande".

    Gli strumenti del NIST erano in grado di gestire software con poche centinaia di variabili di input, ma SBA Research ha sviluppato un altro nuovo strumento in grado di esaminare software che ne ha fino a 2, 000, generando una suite di test per un massimo di cinque combinazioni di variabili di input. I due strumenti possono essere utilizzati in modo complementare:mentre il software NIST può misurare la copertura delle combinazioni di input, l'algoritmo SBA può estendere la copertura a migliaia di variabili.

    Recentemente, Adobe Systems Inc. ha contattato il NIST e ha richiesto assistenza per il test a cinque vie di uno dei suoi pacchetti software. Il NIST ha fornito all'azienda gli algoritmi sviluppati da CCM e SBA, che insieme hanno permesso ad Adobe di eseguire test di affidabilità sul suo codice che si sono dimostrati efficaci e approfonditi.

    Sebbene l'algoritmo SBA Research non sia una parte ufficiale della suite di test ACTS, il team ha in programma di includerlo in futuro. Intanto, Kuhn ha affermato che il NIST renderà l'algoritmo disponibile a qualsiasi sviluppatore che lo richieda.

    "La collaborazione ha dimostrato che ora possiamo gestire classi più ampie di problemi, " Kuhn ha detto. "Possiamo applicare questo metodo a più applicazioni e sistemi che in precedenza erano troppo difficili da gestire. Invitiamo qualsiasi azienda interessata ad espandere il proprio software a contattarci, e condivideremo tutte le informazioni di cui potrebbero aver bisogno."


    © Scienza https://it.scienceaq.com