COBOL: codice trasformato in Java usando l'intelligenza artificiale

IBM presenta Watsonx Code Assistant per Z, uno strumento che utilizza modelli generativi basati sull'intelligenza artificiale per convertire codice COBOL in Java.

COBOL, acronimo di Common Business-Oriented Language, è un linguaggio di programmazione sviluppato addirittura negli anni ’50 per scopi aziendali e commerciali. Nasce dalla volontà di creare un linguaggio facile da leggere e scrivere, con una sintassi simile all’inglese e, in generale, vicina al linguaggio naturale. Per questo motivo, tante realtà d’impresa hanno scelto proprio COBOL per sviluppare sistemi di elaborazione dati, gestire calcoli finanziari e per tante altre applicazioni aziendali.

Uno dei primi linguaggi di programmazione ad essere ampiamente adottato per le applicazioni di business e amministrative, COBOL ha contribuito a semplificare lo sviluppo di software per gestire complessi calcoli finanziari ed ancora oggi è utilizzato nei sistemi mainframe di mezzo mondo.

Come abbiamo nell’articolo su cos’è un mainframe, mainframe è sinonimo di IBM e del sistema operativo Z/OS. Così, a fine agosto 2023, IBM ha annunciato il suo progetto Watsonx Code Assistant for Z, una soluzione che può convertire il codice COBOL in Java utilizzando un modello generativo basato sull’intelligenza artificiale.

Perché è importante uno strumento che traduce il codice COBOL in Java

Secondo un’indagine svolta nel 2022, il numero di righe di programmazione COBOL utilizzate negli ambienti di produzione supera gli 800 miliardi a livello globale a fronte di un numero di esperti nello sviluppo COBOL che ha ormai raggiunto il minimo storico. La migrazione di codice COBOL a Java è un’attività che, d’altra parte, richiede enormi sforzi e investimenti in denaro davvero impegnativi, soprattutto per i progetti utilizzati nelle imprese di più grandi dimensioni.

IBM Watsonx Code Assistant for Z aiuta a convertire il codice COBOL in modo naturale facendo leva sull’intelligenza artificiale. In questo modo è possibile avviare la fase di sostituzione delle applicazioni legacy scritte con codice COBOL aggiornandole per i sistemi più moderni. Il tutto piuttosto velocemente, in modo affidabile e quindi “senza troppi spargimenti di sangue”.

Come spiegano i tecnici di IBM Research, Watsonx Code Assistant per Z permette di comprendere, riconvalidare e trasformare il codice COBOL trasponendolo su architetture più moderne. A differenza di altri prodotti concorrenti, la soluzione messa a punto da IBM adotta misure per ridurre i costi di conversione e produrre codice gestibile senza sacrificare le utili funzionalità di COBOL. Inoltre, se un particolare servizio dovesse essere mantenuto in COBOL, gli altri servizi vengono convertiti in Java, ad eccezione di quello specifico servizio.

Watsonx Code Assistant for Z è sua volta basato sulla tecnologia Watsonx.ai, addestrata su 1.500 miliardi di token e in grado di riconoscere 115 linguaggi di codifica. Il sistema è inoltre potenziato con il set di dati IBM CodeNet, che comprende circa 80 diversi linguaggi di programmazione.

I “contro” della conversione effettuata con Watsonx Code Assistant for Z

Non è però tutto “rose e fiori”. È risaputo che la generazione di codice mediante intelligenza artificiale possa provocare l’introduzione di vulnerabilità nel codice generato. Lo abbiamo visto nel dettaglio nell’articolo su come programmare con ChatGPT.

Proprio per questo motivo, sono gli stessi ideatori di Watsonx Code Assistant for Z a sottolineare che il codice generato a partire da sorgente in COBOL deve essere sempre necessariamente convalidato da un ingegnere umano. Le applicazioni aziendali scritte in COBOL possono contenere modelli unici che Watsonx Code Assistant per Z non è ancora in grado di padroneggiare in modo adeguato.

Watsonx Code Assistant per Z sarà disponibile pubblicamente entro la fine del 2023.

Ti consigliamo anche

Link copiato negli appunti