[Программирование, Машинное обучение] Искусственный интеллект обновит устаревшее программное обеспечение за вас (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Инструменты IBM на основе искусственного интеллекта дают инженерам возможность исследовать способы применения устаревшего корпоративного ПО.
В прошлом году компания IBM продемонстрировала, как ИИ может выполнять монотонную работу по обслуживанию программного обеспечения благодаря обновлению устаревшего кода. Теперь компания представила методы на основе ИИ для перекодирования старых приложений, чтобы они могли работать на современных вычислительных платформах.
Последние проекты IBM под названием Mono2Micro и Application Modernization Accelerator (AMA) предоставляют архитекторам приложений инструменты для обновления устаревших приложений и повторного их применения. По словам Ника Фуллера, директора по гибридным облачным сервисам в исследовательской лаборатории IBM Research, эти инициативы позволяют приблизить момент, когда ИИ сможет автоматически перевести программу с COBOL на Java.
Но Фуллер отмечает, что эти передовые подходы на основе ИИ на данный момент способны только разбивать устаревший машинный код монолитных программ на отдельные микросервисы. Для выполнения полноценного перевода с одного языка программирования на другой остается сделать еще один шаг, потому что инструментарий AMA хоть и предназначен для модернизации COBOL, на данный момент он обеспечивает лишь очередной этап в этом процессе. «Перевод с одного языка на другой является фундаментальной проблемой для ИИ, над которой мы работаем, чтобы часть этого устаревшего кода функционировала на современном программном языке», — добавил он.
А пока передовые инструменты IBM на основе искусственного интеллекта предлагают некоторые новые возможности. Что касается Mono2Micro, этот инструмент сначала анализирует старый код, чтобы выявить все скрытые связи внутри него, например, различные компоненты в базовой бизнес-логике, содержащие многочисленные вызовы и связи друг с другом. Самостоятельное выполнение такой задачи было бы для архитектора приложений очень сложным и затратным по времени.
Mono2Micro использует методы кластеризации на основе ИИ для объединения похожих кодов в группы, что более наглядно показывает, как группы кодов взаимодействуют. Сначала Mono2Micro принимает код, затем анализирует исходный и объектный код как статически (анализируя программу перед запуском), так и динамически (анализируя программу во время ее выполнения).
Затем инструмент преобразовывает монолитные программы на основе Java и связанную с ними бизнес-логику и пользовательские интерфейсы в микросервисы. Рефакторинг монолита в отдельные микросервисы с конкретными функциями сводит к минимуму связи, которые существовали в программном обеспечении, когда оно было монолитной программой, изменяя структуру приложения без изменения его внешнего поведения.
Целью инструментария AMA является как анализ, так и рефакторинг ранее разработанных приложений, написанных на устаревших языках (COBOL, PL/I). Что касается инструментария AMA, он сочетает статический анализ исходного кода с пониманием структуры приложения для создания графа, который представляет устаревшее приложение. При использовании совместно с методами глубокого обучения этот подход на основе графов облегчает сохранение данных.
Изображение: IBM Research
Изображение интерфейса Mono2Micro
Стратегия IBM в области искусственного интеллекта направлена на решение ключевых проблем машинного обучения, когда входные данные — код, и параметры для анализа — объем и множественные значения. Важные устаревшие приложения обычно содержат от сотен тысяч до миллионов строк кода. В этом контексте применение методов машинного обучения (ML) к таким большим объемам данных можно сделать более эффективным с помощью концепции встраивания.
Эти слои внедрения представляют собой способ преобразования данных в числовые значения. Преимущество метода встраивания заключается в том, что он позволяет присвоить числовое выражение большому объему кода с множеством возможных значений. То же самое происходит, например, при переводе естественного человеческого языка в числовые значения с использованием векторного представления слов (“word” embeddings). Это также делается в контексте графа, так как это связано с анализом кода.
«Слои встраивания — это потрясающе, потому что без них было бы сложно получить что-либо, напоминающее эффективно работающую систему машинного обучения», — сказал Фуллер.
Он добавил, что в случае анализа кода система машинного обучения с каждым разом лучше предлагает микросервисы для рефакторизованного устаревшего приложения за счет репликации функционального наполнения приложения.
Фуллер отмечает: «На этом этапе вы еще не можете выдохнуть, но 70% работы позади, а значит, вы стали гораздо ближе к рефакторирнгу важного приложения в архитектуру микросервисов».
===========
Источник:
habr.com
===========
===========
Автор оригинала: Dexter Johnson
===========Похожие новости:
- [JavaScript, Программирование, HTML, TensorFlow] Отслеживание лиц в реальном времени в браузере с использованием TensorFlow.js. Часть 1 (перевод)
- [JavaScript, Программирование] Почему вы можете обойтись без Babel (перевод)
- [Python, Машинное обучение, Искусственный интеллект, TensorFlow] Нейродайджест: главное из области машинного обучения за февраль 2021
- [Программирование, Assembler] Как писать на ассемблере в 2021 году
- [Учебный процесс в IT, Карьера в IT-индустрии] Из студентов в преподаватели: интервью с выпускниками магистерской программы JetBrains + ИТМО. Часть 2
- [Машинное обучение] Как главная страница ivi оптимизируется под пользователей и их устройства?
- [Программирование, Совершенный код] Trace, Info, Warning, Error, Fatal — кто все эти люди..?
- [Программирование, Клиентская оптимизация, Разработка игр, Софт] Как я сократил время загрузки GTA Online на 70% (перевод)
- [Python, Программирование] Пишем телеграм-бота, который будет переводить интернет статьи в mp3-файлы
- [Совершенный код, UML Design, ООП, Параллельное программирование] Как построить четкие модели классов и получить реальные преимущества от UML. Часть 4 (перевод)
Теги для поиска: #_programmirovanie (Программирование), #_mashinnoe_obuchenie (Машинное обучение), #_ai, #_refactoring, #_ibm, #_blog_kompanii_timeweb (
Блог компании Timeweb
), #_programmirovanie (
Программирование
), #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 08:40
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Инструменты IBM на основе искусственного интеллекта дают инженерам возможность исследовать способы применения устаревшего корпоративного ПО. В прошлом году компания IBM продемонстрировала, как ИИ может выполнять монотонную работу по обслуживанию программного обеспечения благодаря обновлению устаревшего кода. Теперь компания представила методы на основе ИИ для перекодирования старых приложений, чтобы они могли работать на современных вычислительных платформах. Последние проекты IBM под названием Mono2Micro и Application Modernization Accelerator (AMA) предоставляют архитекторам приложений инструменты для обновления устаревших приложений и повторного их применения. По словам Ника Фуллера, директора по гибридным облачным сервисам в исследовательской лаборатории IBM Research, эти инициативы позволяют приблизить момент, когда ИИ сможет автоматически перевести программу с COBOL на Java. Но Фуллер отмечает, что эти передовые подходы на основе ИИ на данный момент способны только разбивать устаревший машинный код монолитных программ на отдельные микросервисы. Для выполнения полноценного перевода с одного языка программирования на другой остается сделать еще один шаг, потому что инструментарий AMA хоть и предназначен для модернизации COBOL, на данный момент он обеспечивает лишь очередной этап в этом процессе. «Перевод с одного языка на другой является фундаментальной проблемой для ИИ, над которой мы работаем, чтобы часть этого устаревшего кода функционировала на современном программном языке», — добавил он. А пока передовые инструменты IBM на основе искусственного интеллекта предлагают некоторые новые возможности. Что касается Mono2Micro, этот инструмент сначала анализирует старый код, чтобы выявить все скрытые связи внутри него, например, различные компоненты в базовой бизнес-логике, содержащие многочисленные вызовы и связи друг с другом. Самостоятельное выполнение такой задачи было бы для архитектора приложений очень сложным и затратным по времени. Mono2Micro использует методы кластеризации на основе ИИ для объединения похожих кодов в группы, что более наглядно показывает, как группы кодов взаимодействуют. Сначала Mono2Micro принимает код, затем анализирует исходный и объектный код как статически (анализируя программу перед запуском), так и динамически (анализируя программу во время ее выполнения). Затем инструмент преобразовывает монолитные программы на основе Java и связанную с ними бизнес-логику и пользовательские интерфейсы в микросервисы. Рефакторинг монолита в отдельные микросервисы с конкретными функциями сводит к минимуму связи, которые существовали в программном обеспечении, когда оно было монолитной программой, изменяя структуру приложения без изменения его внешнего поведения. Целью инструментария AMA является как анализ, так и рефакторинг ранее разработанных приложений, написанных на устаревших языках (COBOL, PL/I). Что касается инструментария AMA, он сочетает статический анализ исходного кода с пониманием структуры приложения для создания графа, который представляет устаревшее приложение. При использовании совместно с методами глубокого обучения этот подход на основе графов облегчает сохранение данных. Изображение: IBM Research Изображение интерфейса Mono2Micro Стратегия IBM в области искусственного интеллекта направлена на решение ключевых проблем машинного обучения, когда входные данные — код, и параметры для анализа — объем и множественные значения. Важные устаревшие приложения обычно содержат от сотен тысяч до миллионов строк кода. В этом контексте применение методов машинного обучения (ML) к таким большим объемам данных можно сделать более эффективным с помощью концепции встраивания. Эти слои внедрения представляют собой способ преобразования данных в числовые значения. Преимущество метода встраивания заключается в том, что он позволяет присвоить числовое выражение большому объему кода с множеством возможных значений. То же самое происходит, например, при переводе естественного человеческого языка в числовые значения с использованием векторного представления слов (“word” embeddings). Это также делается в контексте графа, так как это связано с анализом кода. «Слои встраивания — это потрясающе, потому что без них было бы сложно получить что-либо, напоминающее эффективно работающую систему машинного обучения», — сказал Фуллер. Он добавил, что в случае анализа кода система машинного обучения с каждым разом лучше предлагает микросервисы для рефакторизованного устаревшего приложения за счет репликации функционального наполнения приложения. Фуллер отмечает: «На этом этапе вы еще не можете выдохнуть, но 70% работы позади, а значит, вы стали гораздо ближе к рефакторирнгу важного приложения в архитектуру микросервисов». =========== Источник: habr.com =========== =========== Автор оригинала: Dexter Johnson ===========Похожие новости:
Блог компании Timeweb ), #_programmirovanie ( Программирование ), #_mashinnoe_obuchenie ( Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 08:40
Часовой пояс: UTC + 5