IBM открыл CodeNet для систем машинного обучения, транслирующих и проверяющих код
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Компания IBM представила инициативу CodeNet, нацеленную на предоставление исследователям набора данных, позволяющих экспериментировать с применением методов машинного обучения для создания трансляторов из одного языка программирования в другой, а также генераторов и анализаторов кода. CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования, как современные языки, такие как C++, Java, Python и Go, так и устаревшие, включая COBOL, Pascal и FORTRAN. Наработки проекта распространяются под лицензией Apache 2.0, а наборы данных планируется распространять в форме общественного достояния.
Примеры снабжены аннотациями и реализуют идентичные алгоритмы на разных языках программирования. Предполагается, что предложенный набор поможет тренировке систем машинного обучения и развитию инноваций в области трансляции и машинного разбора кода, по аналогии с тем, как БД аннотированных изображений ImageNet помогла развитию систем распознавания образов и машинного зрения. В качестве одного из основных источников формирования коллекции называются различные соревнования по программированию.
В отличие от традиционных трансляторов, реализованных на основе правил преобразования, системы машинного обучения могут улавливать и учитывать контекст использования кода. При преобразовании из одного языка программирования в другой контекст не менее важен, чем при переводе из одного человеческого языка на другой. Именно отсутствие учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL.
Наличие большой базы реализаций алгоритмов на различных языках поможет созданию универсальных систем машинного обучения, которые вместо прямой трансляции между конкретными языками, манипулируют более абстрактным представлением кода, независимым от конкретных языков программирования. Подобная система может использоваться как транслятор, переводящий переданный код на любом из поддерживаемых языков в своё внутреннее абстрактное представление, из которого затем может быть сгенерирован код на множестве языков.
В том числе система сможет выполнять двунаправленные преобразования. Например, в банках и госучреждениях по-прежнему продолжают использоваться проекты на устаревшем языке COBOL. Транслятор на базе системы машинного обучения сможет преобразовать код на COBOL в представление на языке Java, а при необходимости перевести фрагмент на Java обратно в код на COBOL.
Кроме трансляции между языками упоминаются такие области применения CodeNet, как создание умных систем поиска кода и автоматизации выявления клонов, а также разработка оптимизаторов и систем автоматической корректировки кода. В частности, представленные в CodeNet примеры снабжены метаданными, описывающими результаты тестирования производительности, результирующий размер программы, потребление памяти и состояние, позволяющее отличать корректный код от кода с ошибками (чтобы отличить правильный код от некорректного в коллекцию специально включены примеры с ошибками, доля которых составляет 29.5%). Система машинного обучения может учитывать эти метаданные для генерации наиболее оптимального кода или для выявления регрессий в анализируемом коде (система может понять, что в переданном коде алгоритм реализован не оптимально или содержит ошибки).
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://research.ibm.com/blog/...)
- OpenNews: GitHub открыл наработки по применению машинного обучения для поиска и анализа кода
- OpenNews: NVIDIA открыла код системы машинного обучения, синтезирующей пейзажи по наброскам
- OpenNews: Система машинного обучения для синтеза типового кода на языке Java
- OpenNews: NVIDIA открыла код StyleGAN, генератора лиц на основе машинного обучения
Похожие новости:
- [Криптовалюты] Atomic Swaps: блокчейн расправил плечи
- [Криптовалюты] Atomic Swaps — Taking out the Middleman
- [Ruby, Ruby on Rails] Каперство в IT. В подражание Киплингу
- [Программирование, .NET, Visual Studio, Отладка] Почему в Visual Studio стек вызовов асинхронного кода иногда перевёрнут? (перевод)
- [Управление персоналом, IT-компании, Удалённая работа] Из Basecamp уволилось больше трети сотрудников — они недовольны «аполитичностью» компании
- [Компьютерное железо, История IT, Старое железо] Стильный десктоп 286
- [Программирование, Софт] Особенности разработки на мейнфреймах
- [Компьютерное железо, Настольные компьютеры, Процессоры, IT-компании] Блогер протестировал компьютер на базе Baikal-M в домашних условиях
- Релиз почтового сервера Postfix 3.6.0
- [Интернет-маркетинг, История IT, Научно-популярное] Как рекламщики уничтожили электронную почту, и что сейчас они делают с мобильной связью
Теги для поиска: #_codenet, #_ai, #_ibm
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:19
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Компания IBM представила инициативу CodeNet, нацеленную на предоставление исследователям набора данных, позволяющих экспериментировать с применением методов машинного обучения для создания трансляторов из одного языка программирования в другой, а также генераторов и анализаторов кода. CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования, как современные языки, такие как C++, Java, Python и Go, так и устаревшие, включая COBOL, Pascal и FORTRAN. Наработки проекта распространяются под лицензией Apache 2.0, а наборы данных планируется распространять в форме общественного достояния. Примеры снабжены аннотациями и реализуют идентичные алгоритмы на разных языках программирования. Предполагается, что предложенный набор поможет тренировке систем машинного обучения и развитию инноваций в области трансляции и машинного разбора кода, по аналогии с тем, как БД аннотированных изображений ImageNet помогла развитию систем распознавания образов и машинного зрения. В качестве одного из основных источников формирования коллекции называются различные соревнования по программированию. В отличие от традиционных трансляторов, реализованных на основе правил преобразования, системы машинного обучения могут улавливать и учитывать контекст использования кода. При преобразовании из одного языка программирования в другой контекст не менее важен, чем при переводе из одного человеческого языка на другой. Именно отсутствие учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL. Наличие большой базы реализаций алгоритмов на различных языках поможет созданию универсальных систем машинного обучения, которые вместо прямой трансляции между конкретными языками, манипулируют более абстрактным представлением кода, независимым от конкретных языков программирования. Подобная система может использоваться как транслятор, переводящий переданный код на любом из поддерживаемых языков в своё внутреннее абстрактное представление, из которого затем может быть сгенерирован код на множестве языков. В том числе система сможет выполнять двунаправленные преобразования. Например, в банках и госучреждениях по-прежнему продолжают использоваться проекты на устаревшем языке COBOL. Транслятор на базе системы машинного обучения сможет преобразовать код на COBOL в представление на языке Java, а при необходимости перевести фрагмент на Java обратно в код на COBOL. Кроме трансляции между языками упоминаются такие области применения CodeNet, как создание умных систем поиска кода и автоматизации выявления клонов, а также разработка оптимизаторов и систем автоматической корректировки кода. В частности, представленные в CodeNet примеры снабжены метаданными, описывающими результаты тестирования производительности, результирующий размер программы, потребление памяти и состояние, позволяющее отличать корректный код от кода с ошибками (чтобы отличить правильный код от некорректного в коллекцию специально включены примеры с ошибками, доля которых составляет 29.5%). Система машинного обучения может учитывать эти метаданные для генерации наиболее оптимального кода или для выявления регрессий в анализируемом коде (система может понять, что в переданном коде алгоритм реализован не оптимально или содержит ошибки). =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:19
Часовой пояс: UTC + 5