Η IBM πατά το AI για να μεταφράσει τον κώδικα COBOL σε Java
Η COBOL, ή Common Business Oriented Language, είναι μια από τις παλαιότερες γλώσσες προγραμματισμού που χρησιμοποιούνται, που χρονολογείται γύρω στο 1959. Είχε εκπληκτική δύναμη διατήρησης. σύμφωνα με το 2022
επισκόπηση
υπάρχουν πάνω από 800 δισεκατομμύρια σειρές COBOL σε χρήση σε συστήματα παραγωγής, από 220 δισεκατομμύρια εκτιμώμενα το 2017.
Αλλά η COBOL έχει τη φήμη ότι είναι μια δύσκολη στην πλοήγηση, αναποτελεσματική γλώσσα. Γιατί να μην μεταφερθείτε σε νεότερο; Για μεγάλους οργανισμούς, τείνει να είναι μια σύνθετη και δαπανηρή πρόταση, δεδομένου του μικρού
αριθμός
των ειδικών COBOL στον κόσμο. Όταν η Commonwealth Bank of Australia
αντικαταστάθηκε
Η βασική της πλατφόρμα COBOL το 2012, χρειάστηκε πέντε χρόνια και κόστισε πάνω από 700 εκατομμύρια δολάρια.
Ψάχνει να παρουσιάσει μια νέα λύση στο
πρόβλημα
του εκσυγχρονισμού των εφαρμογών COBOL, η IBM
σήμερα
αποκαλύφθηκε
Code Assistant για το IBM Z, το οποίο χρησιμοποιεί ένα μοντέλο τεχνητής νοημοσύνης που δημιουργεί κώδικα για να μεταφράσει τον κώδικα COBOL σε Java. Το Code Assistant για το IBM Z, που πρόκειται να γίνει γενικά διαθέσιμο το 4ο τρίμηνο του 2023, θα εισέλθει σε προεπισκόπηση κατά τη διάρκεια του συνεδρίου TechXchange της IBM στο Λας Βέγκας στις αρχές Σεπτεμβρίου.
Το Code Assistant για το IBM Z έχει σχεδιαστεί για να βοηθά τις επιχειρήσεις στην ανακατασκευή των εφαρμογών mainframe τους, ιδανικά διατηρώντας παράλληλα την απόδοση και την ασφάλεια, σύμφωνα με τον επικεφαλής επιστήμονα της IBM Research, Ruchir Puri. Εκτελώντας τοπικά σε διαμόρφωση εσωτερικής εγκατάστασης ή στο cloud ως διαχειριζόμενη υπηρεσία, το Code Assistant τροφοδοτείται από ένα μοντέλο παραγωγής κώδικα, το CodeNet, το οποίο μπορεί να κατανοήσει όχι μόνο COBOL και Java αλλά περίπου 80 διαφορετικές γλώσσες προγραμματισμού.
«Η IBM κατασκεύασε ένα νέο, υπερσύγχρονο μοντέλο κώδικα τεχνητής νοημοσύνης που δημιουργείται για να μετατρέψει τα παλαιού τύπου προγράμματα COBOL σε εταιρική Java με υψηλό βαθμό φυσικότητας στον παραγόμενο κώδικα», είπε ο Puri στο TechCrunch σε μια συνέντευξη μέσω
email
. “Εκτός από τον μετασχηματισμό κώδικα, το Code Assistant υποστηρίζει τον πλήρη κύκλο ζωής εκσυγχρονισμού εφαρμογών και βοηθά τους προγραμματιστές να κατανοήσουν, να αναδιαμορφώσουν, να μετατρέψουν και να επικυρώσουν τον μεταφρασμένο κώδικα σε μια σύγχρονη αρχιτεκτονική.”
Ο Puri λέει ότι το CodeNet, το οποίο εκπαιδεύτηκε με 1,5 τρισεκατομμύρια tokens και έχει 20 δισεκατομμύρια παραμέτρους, σχεδιάστηκε με ένα μεγάλο παράθυρο περιβάλλοντος — 32.000 tokens — για να «αιχμαλωτίσει το ευρύτερο πλαίσιο» για «πιο αποτελεσματικό μετασχηματισμό COBOL σε Java». Οι παράμετροι είναι τα μέρη ενός μοντέλου που μαθαίνονται από ιστορικά δεδομένα εκπαίδευσης και ουσιαστικά καθορίζουν την ικανότητα του μοντέλου σε ένα πρόβλημα, όπως η δημιουργία κειμένου, ενώ τα “tokens” αντιπροσωπεύουν ακατέργαστο κείμενο – π.χ. “fan”, “tas” και “tic” για η λέξη «φανταστικό». Όσον αφορά το παράθυρο περιβάλλοντος, αναφέρεται στο κείμενο που εξετάζει το μοντέλο πριν δημιουργήσει πρόσθετο κείμενο.
Υπάρχει ένας αριθμός εργαλείων, εφαρμογών και υπηρεσιών για τη μετατροπή εφαρμογών COBOL σε σύνταξη Java σήμερα, μερικά από τα οποία είναι πλήρως αυτοματοποιημένα. Ο Puri το αναγνωρίζει, αλλά υποστηρίζει ότι το Code Assistant λαμβάνει μέτρα για να αποφύγει τη θυσία των δυνατοτήτων της COBOL, ενώ παράλληλα μειώνει το κόστος και παράγει κώδικα που είναι εύκολο να διατηρηθεί — σε αντίθεση με ορισμένες από τις ανταγωνιστικές προσφορές στην αγορά.
«Η IBM κατασκεύασε το Code Assistant για το IBM Z για να μπορεί να συνδυάζει και να συνδυάζει υπηρεσίες COBOL και Java», είπε ο Puri. «Εάν οι δυνατότητες «κατανόησης» και «αναπαραγωγής» του συστήματος συνιστούν ότι μια δεδομένη υπο-υπηρεσία της
εφαρμογή
ς πρέπει να παραμείνει στην COBOL, θα διατηρηθεί έτσι και οι άλλες υπο-υπηρεσίες θα μετατραπούν σε Java. ”
Αυτό δεν σημαίνει ότι το Code Assistant είναι άψογο. Μια πρόσφατη μελέτη του Stanford διαπιστώνει ότι οι μηχανικοί λογισμικού που χρησιμοποιούν συστήματα τεχνητής νοημοσύνης που παράγουν κώδικα παρόμοια με αυτό είναι πιο πιθανό να προκαλέσουν τρωτά σημεία στις εφαρμογές που αναπτύσσουν. Πράγματι, η Puri προειδοποιεί για την ανάπτυξη κώδικα που παράγεται από το Code Assistant πριν την αναθεώρησή του από ειδικούς.
«Όπως κάθε σύστημα τεχνητής νοημοσύνης, μπορεί να υπάρχουν μοναδικά πρότυπα χρήσης μιας επιχείρησης
COBOL
εφαρμογή που το Code Assistant για το IBM Z μπορεί να μην έχει κατακτήσει ακόμα», είπε ο Puri. “Είναι σημαντικό ο κώδικας να σαρώνεται με υπερσύγχρονους σαρωτές ευπάθειας για να διασφαλιστεί η ασφάλεια του κώδικα.”
Εκτός από τους κινδύνους, η IBM αναμφίβολα βλέπει εργαλεία όπως το Code Assistant ως σημαντικά για τη μελλοντική ανάπτυξή της. Σήμερα,
σχετικά με
Το 84% των πελατών mainframe της IBM τρέχουν COBOL — ως επί το πλείστον πελάτες στον χρηματοοικονομικό και
δημόσιο
τομέα. Και ενώ το τμήμα mainframe της IBM εξακολουθεί να αποτελεί μεγάλο μέρος της συνολικής της δραστηριότητας, η εταιρεία θεωρεί το mainframe ως γέφυρα στα εκτεταμένα, προσοδοφόρα υβριδικά περιβάλλοντα υπολογιστών που φιλοξενεί και διευκολύνει επίσης.
Η IBM βλέπει επίσης μέλλον σε ευρύτερα εργαλεία τεχνητής νοημοσύνης που δημιουργούν κώδικα — με την πρόθεση να ανταγωνιστεί εφαρμογές όπως το GitHub Copilot και το Amazon CodeWhisperer. Τον Μάιο, η IBM κυκλοφόρησε το fm.model.code στην υπηρεσία Watsonx AI, η οποία εξουσιοδοτεί το Watson Code Assistant, επιτρέποντας στους προγραμματιστές να δημιουργούν κώδικα χρησιμοποιώντας απλά αγγλικά μηνύματα σε προγράμματα, συμπεριλαμβανομένου του Ansible Lightspeed της Red Hat.
