Искусственный интеллект для преобразования между языками программирования

(Ди Алессандро Руголо)
03/08/20

Мы больше не удивляемся, когда слышим о Искусственный интеллект, как предсказал Алан Тьюринг 70 лет назад в своем эссе «Вычислительные машины и интеллект». Мы даже не удивляемся эволюции антропоморфного робота, оснащенного датчиками, способного говорить, писать, играть в шахматы или выполнять самые разные задачи.

Технологии быстро развиваются, и мы в одном шаге от того, чтобы увидеть новую расу, более развитую, из киборгов, циркулирующих среди человечества ...

На первый взгляд может показаться, что только что прочитанные строки взяты из какой-то фантастической антологии тех, кто был в моде тридцать лет назад среди горячих читателей итальянских пляжей, но это не так, это реальность.

Искусственный интеллект уже прошел фазу испытаний и готовится насильственно войти в нашу повседневную жизнь, повседневную жизнь людей на улицах и работу компаний.

Из мира социальных сетей Facebook появилась новинка об использовании искусственного интеллекта: «AI Transcoder от Facebook». Давайте посмотрим, о чем это.

Это исследователи Facebook, которые создали первый «нейронный транскомпилятор», конвертер кода для языков программирования. Это система на основе искусственного интеллекта, способная преобразовывать код языков программирования высокого уровня (Java, Python, C ++ ...) в другие языки программирования и наоборот.

Созданная система относится к категории, называемой «Без присмотра», то есть без необходимости инструктажа по обучающим данным и, теоретически, без надзора со стороны человека.

Очень ощущается необходимость конвертировать программный код между разными языками. С развитием информационных технологий и развитием различных языков программирования стало очевидным, что переход на новые системы или информационные платформы не всегда был дешевым и осуществимым из-за незнания старых языков программирования.

Для прохождения больших систем, например банковских, затраты стали непомерными, и здесь может вступить в силу новое нейронный транскомпилятор.
Новая система основана на использовании «межъязыкового языка» (для этапа предварительной подготовки), который отображает выражения с одинаковым значением различных языков программирования.

Точность новой системы очень высока, по крайней мере, при переходе между C ++ и Java (она достигает 74,8%), тогда как при переходе с C ++ на Python она падает до 67,2%.
Еще лучшие результаты получаются при переходе с Java на C ++ (91,6%).
Более скромная точность при переходе с Python на Java (56,1%) и с Python на C ++ (57,8%).

В промышленном и военном мире нет ничего странного в том, что находящиеся в эксплуатации системы десятилетней давности все еще используются из-за невозможности конверсии и огромных затрат, которые будут понесены для модернизации. В этом рыночном секторе, немалом, новый инструмент позиционируется.
Потребуется некоторое время, чтобы повысить точность системы, особенно при переходе с систем, созданных на более старых языках, на более новые, но дорога кажется окончательно открытой.

С точки зрения безопасности, это совершенно другой вопрос, и его придется изучать от случая к случаю.

Для получения дополнительной информации:
https://medium.com/@learnbay/facebooks-ai-transcoder-6299a62bf222
https://medium.com/@learnbay/facebooks-ai-transcoder-6299a62bf222
https://www.infoq.com/news/2020/06/facebook-ai-transpiler/
https://medium.com/swlh/transcoder-facebooks-unsupervised-programming-la...