В производственных системах по всему миру работают сотни миллиардов строк кода COBOL . Это не идеально для языка, которому более 60 лет и чьи основные архитекторы в основном пенсионеры или уже умерли.
IBM, стремящаяся сохранить эти устаревшие функции в своих мэйнфреймах Z , хочет, чтобы этот код был переписан на Java. Несколько лет назад он пытался заставить людей сделать это , но теперь у него появилась другая идея. Да, как вы уже догадались: это задействует ИИ.
IBM watsonx Code Assistant , который должен появиться в четвертом квартале этого года, намерен сохранить участие людей, но с упором на генеративный искусственный интеллект в анализе, рефакторинге и тестировании нового объектно-ориентированного кода. Это также не процесс по принципу «все или ничего», поскольку IBM утверждает, что код, сгенерированный watsonx, должен быть совместим с COBOL и некоторыми функциями мэйнфрейма Z.
В техническом сообщении в блоге , посвященном преобразованию COBOL , Кайл Чарлет из IBM, технический директор программного обеспечения zSystems, подходит к делу и говорит то, что многие люди говорили о COBOL: это не просто код; это бизнес-логика, крайние случаи и институциональная память или ее отсутствие.
Некоторые клиенты… потратили годы и миллионы, пытаясь модернизировать свой код COBOL, и, несмотря на все это, модернизирована была лишь часть. Чтобы переписать COBOL, требуется множество разработчиков и кропотливая ручная работа. Люди пробовали много разных способов модернизации этих приложений, и, по моему опыту, с разными результатами. Ни один из них не является образцовым.
Watsonx от IBM, пишет Шарлет, может помочь крупным организациям отделить отдельные сервисы от монолитных приложений COBOL. По мнению IBM, это будет происходить в три этапа:
- Рефакторинг, при котором отдельные сервисы «хирургическим путем» отделяются или извлекаются из более крупного кода.
- Преобразование либо в код Java, подходящий для мэйнфреймов, либо в COBOL, который может напрямую обращаться к Java.
- Проверка, с помощью ИИ, помогающего создавать тестовые примеры, но программисты все еще «на месте водителя».
В некотором смысле кажется, что помощь ИИ может только помочь решить проблему поколений по продвижению COBOL вперед, сохраняя при этом его функциональность. Несмотря на то, что кодовые базы COBOL могут быть относительно стабильными и безопасными (которые, по результатам широкого опроса, однажды были признаны одними из наименее проблемных ), затраты на их обновление и расширение являются гигантскими . Устаревший код COBOL стал одной из причин, по которой в 2015 году в Управление по управлению персоналом было совершено глубокое проникновение , поскольку устаревший код нельзя было зашифровать или заставить работать с другими защищенными системами.
Но постоянно звучат аргументы в пользу того, что COBOL хорош в управлении специфичными для бизнеса системами и обменами способами, которые ( некоторые могут возразить ) создают меньше векторов атак. Или вы можете возразить , что код, сгенерированный и реструктурированный ИИ, может выглядеть правильно и казаться готовым к тестированию, но без людей вокруг, которые точно знают, почему код делает то, что делает, код, масштабированный ИИ, может быть таким же шумным, как и код ИИ. масштабированное видео.
В следующий раз будет развернут IBM watsonx Code Assistant для Z для скорости Red Hat Ansible Light. Учитывая, что watsonx.ai предположительно был обучен более чем 100 языкам программирования, вероятно, вскоре последуют новые пилотные проекты ИИ для старого кода мэйнфреймов.