Компания Microsoft представила новые инструменты для разработчиков
В современном мире все отрасли экономики: от государственных учреждений до медицинских организаций и IT-компаний меняются, развиваются и вносят свой вклад в функционирование общества. И все большее влияние на темпы и качество этой трансформации оказывает цифровизация. За всеми процессами, которые лежат в основе цифровой трансформации компаний стоят специалисты, занимающиеся разработкой алгоритмов и программ.
Работа разработчика предполагает ряд специфических особенностей, главная из которых требует умения писать «чистые» коды в ограниченные сроки. Для решения этой задачи команда Microsoft Research презентовала проекты, направленные на помощь программистам в их ежедневных рабочих процессах.
Все ресурсы доступны для свободного использования.
Автоматизация – первый шаг на пути к успешному программированию. Поэтому многие разработки Microsoft Research направлены на автоматизацию задач разработчиков, исключение ошибок кода, повышение корректности кода и облегчения процесса поиска и исправления ошибок.
Проект Coyote – инновационное решение, позволяющее оперативно выявлять ошибки параллелизма
Проект Coyote призван облегчить процесс систематизации параллельных систем. Это инструмент модульного тестирования параллельных программ, который позволяет разработчикам контролировать выполнение текущих задач, фиксировать сбои и выявлять ошибки. Благодаря встроенным алгоритмам поиска, Coyote оперативно запоминает уже пройденные тестовые пути и воспроизводит их повторно, что позволяет не только сохранять надежность параллельных систем, но и экономить время разработчиков.
API-интерфейсы RESTler минимизируют возникновение сбоев в облаке
Решение RESTler позволяет совершенствовать корректность кода в облаке. Этот автоматизированный метод имеет огромное значение при работе с API REST в критически важных облачных системах, используя входные данные для поиска системных ошибок.
Инструмент RESTler принимает в качестве входных данных спецификацию OpenAPI API REST, а затем автоматически создает и выполняет тесты без предварительно записанного трафика API, выявляя ошибки в облачных сервисах при помощи компилятора и механизма тестирования. Сегодня проект активно применяется инженерами Microsoft, работающими над такими облачными продуктами, как Azure, Office 365 и поисковой службы Bing.
Проект Everest для надежных математических вычислений
При работе с любым программным обеспечением важно, чтобы оно правильно вычисляло результаты, было защищено от вторжений извне и не давало сбоев. Достичь этого путем введения математических доказательств позволяет проект Everest.
Проект производит проверенные криптографические процедуры, парсеры и протоколы, которые развертываются в производственных условиях с гарантиями корректности, безопасности и высокой производительности.
Кодовая база проекта Everest превышает 600 000 строк, что позволяет специалистам при каждом нажатии проверять фрагмент кода на его правильность и безопасность. В основе проекта лежит новый язык программирования – F*, который позволяет разработчикам одновременно писать программы и верифицировать их.
Искусственный интеллект от CodeBERT, сокращающий количество ошибок
Новая разработка в области кодового интеллекта на основе ИИ направлена на помощь программистам в разработке крупномасштабных предварительно обученных моделей.
Система CodeBERT поддерживает преобразования таких формул, как: код-код, код-текст, текст-код и текст-текст на шести языках программирования. С помощью CodeBERT разработчики могут использовать системы завершения кода. Если они сталкиваются с незнакомым фрагментом кода, благодаря сервису можно получить доступ к обобщению, чтобы увидеть описание того, что на самом деле подразумевает код. CodeBERT также имеет системы поиска кода, написанного другими разработчиками по схожему принципу. Более того, CodeBERT предоставляет возможность автоматически переводить техническую документацию на десятки языков.
Microsoft Research стремится помогать разработчикам и создавать таким образом успешное будущее программирования. Все проекты открыты в свободном доступе, поэтому специалисты по программному обеспечению могут внедрить их в собственные проекты.
Кроме того, исследователи Microsoft работают над широким спектром задач в области компьютерных наук – изучают производительность разработчиков, создают новые мощные инструменты тестирования, применяют последние достижения в области искусственного интеллекта и даже изобретают новые языки программирования. Посетите коллекцию исследований, чтобы узнать больше о том, как инновации вносят вклад в экосистему инструментов для разработчиков.