DeepCode запустила плагин для проверки кода на базе искусственного интеллекта для Atom. Версия Atom объединяет существующие плагины для Visual Studio Code и GitHub.
DeepCode, с которым мы впервые познакомились и который представил бесплатный уровень в августе 2019 года, представляет собой инструмент на основе искусственного интеллекта, который интегрируется с платформами для размещения кода и может использоваться для анализа кода с помощью статического анализа программ для поиска проблем и внесения изменений для улучшения кода. Итоговые предложения варьируются от улучшения производительности, возможно, устаревших внешних функций до проблем безопасности. Вы также можете провести анализ коммитов, который анализирует все ваши коммиты и комментарии к ним, чтобы увидеть, вносит ли фиксация какие-либо новые проблемы, или анализ запроса на вытягивание, который делает то же самое для запросов на вытягивание.
Новый плагин разработан для использования с Atom, легким расширяемым текстовым редактором. Изначально Atom разрабатывался как облачный редактор GitHub, прежде чем стал более доступным. С тех пор он был разработан больше как полнофункциональная IDE. Плагин позволяет разработчикам на Atom удаленно использовать анализ исходного кода DeepCode на основе искусственного интеллекта и получать предложения, отображаемые непосредственно в редакторе. DeepCode предоставляет дополнительные плагины для BitBucket, GitHub, GitLab и Visual Studio Code.
DeepCode основан на машинном обучении, и разработчики обучили систему на миллионах репозиториев, отмечая изменения, которые разработчики вносят в код. Затем они обучили свой собственный движок ИИ с этими изменениями, чтобы составить набор из примерно 250 000 правил. Они используются для анализа ваших репозиториев и предлагают возможные проблемы и способы их устранения, а также более общие улучшения. Потенциальные проблемы более обширны, чем вы могли ожидать, и включают уязвимости, такие как SQL-инъекции и межсайтовые сценарии. DeepCode можно использовать для анализа кода на Java, JavaScript, TypeScript, XML и Python; намерение состоит в том, чтобы добавить поддержку C #, PHP и C / C ++.