Perdita di dati, disservizi, malfunzionamenti. I bug nei sistemi informatici possono avere conseguenze significative, a volte anche disastrose. È quanto avvenuto lo scorso luglio con il rilascio di un aggiornamento della piattaforma di Crowdstrike, che ha causato problemi a milioni di utenti di Microsoft Windows e mandato in tilt interi circuiti bancari e aeroporti nel mondo.
Come prevenire errori nella scrittura del codice, automatizzare le fasi di testing e pianificare correttamente aggiornamenti e modifiche software? È in questa direzione che è stata progettata Arcan Impact Analysis, la piattaforma di Test Impact Analysis, basata su algoritmi predittivi, ideata e realizzata dalla start-up Arcan, oggi parte del Gruppo Txt. Questa soluzione consente ai team IT di comprendere le conseguenze e gli eventuali effetti collaterali che aggiornamenti e modifiche software comportano, prima di entrare in fase di rilascio. Obiettivo finale? Garantire una produzione software “bugs free” automatizzata, eliminando le attività più ripetitive e time-consuming delle fasi di test. Nata nel 2021, per iniziativa di due giovani imprenditori, Ilaria Pigazzini e Darius Sas, rispettivamente ceo e cto della startup, Arcan ha mosso i primi passi grazie alla sponsorizzazione ottenuta con il programma di accelerazione Business Innovation Factory di Leonardo per poi approdare nel 2023 in Txt. All’interno della multinazionale italiana dell’innovazione digitale guidata da Daniele Misani, la start-up ha trovato il contesto più adatto per sostenere la crescita futura e dare impulso al processo di industrializzazione e commercializzazione della soluzione. «Essere parte di Txt è per noi è un vantaggio strategico, dice Pigazzini. Il nostro punto debole non era la tecnologia, ma la capacità di entrare in contatto con il mondo delle grandi aziende, vero mercato target della piattaforma poiché è lì che vengono prodotti grandi volumi di codice».
Finance, aerospace, automotive, manifatturiero. L’appartenenza al gruppo Txt crea oggi le condizioni perché Arcan possa essere utilizzato all’interno delle fabbriche software dei più diversi settori di industry. Altrettanto importante la collaborazione con Txt Quence, società del gruppo che opera nell’ambito del software quality engineering, per espandere e migliorare le tecnologie e le metodologie di test. Insomma, come dice Pigazzini, «l’integrazione in Txt ha creato i presupposti per un decollo definitivo della soluzione. Siamo già presenti in alcune aziende con progetti pilota ed entro fine anno ci auguriamo che si possano tradurre in applicazioni up and running». Ecco le caratteristiche e le funzionalità della piattaforma, i prossimi sviluppi e il contributo che può offrire alle organizzazioni IT in termini di produttività, capacità predittive e riduzione di errori nella gestione del ciclo di vita del software.
Arcan Impact Analysis, uno strumento di conoscenza e controllo per l’analisi funzionale del software che previene possibili errori
«Arcan Impact Analysis è una smart solution basata su algoritmi di machine learning con capacità predittive, trasversale a tutti i settori di industry, per supportare le organizzazioni IT aziendali nella fasi più complesse dello sviluppo software», dice Pigazzini. Misurare l’impatto delle modifiche, identificare i potenziali rischi, supportare i team di sviluppo nel prendere decisioni informate sulla gestione del cambiamento. «Utilizzare la nostra soluzione è come avere costantemente al proprio fianco lo sviluppatore più esperto del progetto e con un’eccezionale memoria storica, racconta Pigazzini. Serve a comprendere velocemente le dipendenze nascoste del progetto, stabilire in modo preciso e completo quali funzionalità verranno impattate dal prossimo rilascio, riducendo il rischio di errori.». Uno strumento prezioso, di conoscenza e controllo dello sviluppo software, quindi, che permette di avere visibilità ad alto livello del codice. «È possibile pianificare le attività in maniera intelligente, aggiunge la ceo. Una modifica software, una riscrittura del codice? Arcan aiuta a quantificare il volume delle attività necessarie, permettendo agli IT manager di predisporre le risorse utili per portare a termine il progetto entro una certa data». La concorrenza? «Certo che esiste, ma è per lo più focalizzata su singole aree applicative, all’interno di ambienti verticali, Sap o altro. Arcan Impact Analysis può invece essere utilizzata in qualunque contesto di sviluppo software», dice Pigazzini. Un fattore competitivo che si estende anche alla tecnologia. «Siamo un newcomer del mondo dell’impact analysis e come tale abbiamo tutti i vantaggi che derivano dall’avere progettato una soluzione basata su un motore di intelligenza artificiale, caratteristica che introduce capacità predittive spesso assenti nelle offerte più tradizionali», afferma Pigazzini.
L’importanza della capacità predittiva del machine learning nell’ambito dei test funzionali del software. Nel futuro della piattaforma anche l’intelligenza generativa
Gli algoritmi embedded in Arcan Impact Analysis effettuano una simulazione predittiva dell’impatto, consentendo di arrivare alla disponibilità di una nuova release applicativa minimizzando il rischio di bug. Il tool punta anche a fornire il minimo insieme di test di regressione da eseguire. «Con Arcan posso circoscrivere il perimetro del test alle sole parti più critiche del codice. So esattamente cosa ispezionare sul volume complessivo del software, potenzialità che mi permette di individuare nel minor tempo possibile eventuali bug o anomalie prima che l’applicazione sia in utilizzo presso l’utente finale», dice Pigazzini. Altro punto di fondamentale importanza, la produttività: grazie a un processo di automazione oggettivo basato su dati concreti si eliminano infatti gran parte delle attività manuali. «Al momento l’intelligenza artificiale utilizzata è il machine learning, che serve per fare previsioni. È il cuore della soluzione. Esiste però anche un futuro in GenAi: l’intelligenza generativa potrà servire ad automatizzare la scrittura dei test o creare servizi di produzione on demand di report dei test. Tuttavia, per quanto interessante e futuribili, la GEnAi non è ancora sufficientemente matura per essere utilizzata senza supervisione in ambienti di produzione, quanto meno nell’ambito ristretto dell’impact analysis», afferma Pigazzini.
Più produttività nel ciclo di vita dello sviluppo software. L’automazione dei processi manuali che elimina le attività più ripetitive e time-consuming
Secondo quanto afferma Pigazzini, utilizzando Arcan Impact Analysis si vanno a minimizzare gli errori che possono nascere da modifiche software o dalla scrittura di nuovo codice, sopratutto quando si conosce poco il progetto. Più produttività, quindi, attenuazione dei potenziali rischi, e una logica algoritmica di machine learning in grado di identificare le relazioni tra le diverse parti del codice, individuare potenziali bug e anomalie che potrebbero sfuggire a un’analisi manuale. Come dice Pigazzini, «Basandosi su dati storici e modelli predittivi è possibile stimare l’impatto di una modifica sul comportamento del sistema in modo più accurato. I modelli di machine learning possono essere applicati a progetti di grandi dimensioni e a basi di codice complesse, analizzando rapidamente enormi quantità di dati. L’automazione di molte attività accelera il processo di sviluppo». Uno strumento che si rivela quindi essenziale per migliorare il time-to-market, garantendo tempi di testing più brevi e rilasci software più frequenti. «In ambienti IT ibridi, dove la complessità è elevata e le modifiche all’ordine del giorno, Arcan Impact Analysis può svolgere un ruolo molto importante. Applicazioni cloud native, containerizzate e a microservizi, software legacy. Quale che sia la combinazione architetturale, Arcan si focalizza sull’analisi del codice, contribuendo alla qualità dello sviluppo software di una qualsiasi porzione applicativa».
Acquisizione dei dati per la test impact analysis: come raccogliere e preparare le informazioni necessarie per mappare le relazioni tra le diverse componenti del software, identificando l’impatto delle modifiche
«La soluzione può funzionare solo se sono presenti i dati su cui addestrare l’algoritmo», dice Pigazzini. Nulla di sorprendente: il modello IA embedded in Arcan Impact Analysis ha infatti bisogno di avere un livello di conoscenza adeguato per fare delle predizioni. Nello specifico devono essere presenti i dati storici legati allo sviluppo del sistema software, quelli che vengono tradizionalmente tracciati dai sistemi di controllo delle versioni, dagli issue tracker, e dai sistemi di ticketing.
«Con queste informazioni, a fronte di una modifica software, si riesce a capire l’impatto sulle funzionalità complessive, spiega Pigazzini. Sono dati che nelle grandi aziende sono quasi sempre presenti. Il problema può nascere dalle applicazioni più datate e in questo caso vanno fatti degli adattamenti. Ma non c’è problema l’integrazione si fa». I tempi di attivazione? «Se i dati sono disponibili sono di circa due settimane. Dove invece si deve intervenire con una minima customizzazione si ragiona su un orizzonte temporale di 2 o 3 mesi. E comunque, varia dal singolo contesto», dice Pigazzini.
Arcan Impact Analysis, uno strumento di analisi con poteri extra per ottimizzare i processi di testing e migliorare la qualità del software
Riassumendo, Arcan Impact Analysis aiuta i team di sviluppo, rilascio e quality assurance a dare un senso alle modifiche del codice nelle nuove versioni del software identificando quali funzionalità esistenti sono influenzate dalle modifiche. Con la sua mappa dell’impatto dei cambiamenti, consente ai team di pianificare le attività sapendo esattamente come gli aggiornamenti influenzeranno il sistema attuale, riducendo il tempo necessario per individuare potenziali bug e prevenire problemi nel codice esistente. Cosa distingue Arcan? «È indipendente dal linguaggio di programmazione, il che significa che può essere utilizzato su qualsiasi codice senza limitazioni. A differenza di molti strumenti che si basano sulla lettura e l’analisi del codice sorgente, Arcan utilizza modelli di machine learning per identificare potenziali impatti degli aggiornamenti e modiche software. Un approccio che lo rende flessibile e adattabile a qualsiasi stack tecnologico», afferma Pigazzini. In definitiva, Arcan offre un contributo alla scrittura di codice privo di bug, ottimizzando i processi di testing e migliorando la qualità del software. Individua esattamente quali test sono necessari per verificare l’impatto di una modifica, evitando l’esecuzione di test inutili. «Grazie alla riduzione dei tempi di testing contribuisce ad accelerare il rilascio di nuove funzionalità e aggiornamenti. Incentiva, inoltre, la scrittura di codice più modulare e testabile, facilitando la manutenzione e l’evoluzione del software nel lungo periodo. Sapendo che sono stati eseguiti tutti i test necessari, i team di sviluppo possono avere maggiore fiducia nella qualità del software rilasciato», dice Pigazzini.
***** l’articolo pubblicato è ritenuto affidabile e di qualità*****
Visita il sito e gli articoli pubblicati cliccando sul seguente link
Informativa sui diritti di autore
La legge sul diritto d’autore art. 70 consente l’utilizzazione libera del materiale laddove ricorrano determinate condizioni: la citazione o riproduzione di brani o parti di opera e la loro comunicazione al pubblico sono liberi qualora siano effettuati per uso di critica, discussione, insegnamento o ricerca scientifica entro i limiti giustificati da tali fini e purché non costituiscano concorrenza all’utilizzazione economica dell’opera citata o riprodotta.
Vuoi richiedere la rimozione dell’articolo?
Clicca qui
***** l’articolo pubblicato è ritenuto affidabile e di qualità*****
Visita il sito e gli articoli pubblicati cliccando sul seguente link
Informativa sui diritti di autore
La legge sul diritto d’autore art. 70 consente l’utilizzazione libera del materiale laddove ricorrano determinate condizioni: la citazione o riproduzione di brani o parti di opera e la loro comunicazione al pubblico sono liberi qualora siano effettuati per uso di critica, discussione, insegnamento o ricerca scientifica entro i limiti giustificati da tali fini e purché non costituiscano concorrenza all’utilizzazione economica dell’opera citata o riprodotta.
Vuoi richiedere la rimozione dell’articolo?
Clicca qui