Сегодня AWS объявил о том, что CodeGuru, набор инструментов, использующих машинное обучение для автоматического анализа кода на наличие ошибок и возможностей оптимизации, стал доступен для всех разработчиков.
CodeGuru это два инструмента — Reviewer и Profiler. Reviewer анализирует код — команда AWS обучила свой алгоритм на более чем 10,000 проектах с открытым исходным кодом на GitHub, а также на собственной внутренней кодовой базе Amazon.
«Даже для такой крупной компании, как Amazon, сложно иметь достаточно опытных разработчиков с достаточным количеством свободного времени для проверки всего кода, учитывая объем, который пишется каждый день», — отмечает компания в анонсе. «И даже самые опытные ревьюверы могут пропускать проблемы, которые влияют на пользовательские приложения, что приводит к ошибкам и проблемам с производительностью».
Разработчики могут использовать CodeGuru в своем привычном репозитории, независимо от того, GitHub это, Bitbucket Cloud, собственный CodeCommit AWS или другой сервис. CodeGuru Reviewer анализирует этот код, пытается найти ошибки и, если это происходит, предлагает возможные исправления. Все это делается в контексте хранилища кода, поэтому CodeGuru, например, на GitHub создает пул реквест и добавляет комментарий к нему с дополнительной информацией об ошибке и возможных исправлениях.
У CodeGuru Application Profiler несколько иная задача. Он предназначен для того, чтобы помочь разработчикам выяснить, где могут быть некоторые недостатки в их коде, и определить части кода, которые выполняются дольше и, соответственно, стоят больше всего. В нем есть поддержка безсерверных платформ, таких как AWS Lambda и Fargate.
«Наши клиенты разрабатывают и запускают множество приложений, которые содержат миллионы и миллионы строк кода. Обеспечение качества и эффективности этого кода невероятно важно, так как ошибки и неэффективность даже в нескольких строках кода могут быть очень дорогостоящими. Сегодня методы выявления проблем с качеством кода являются трудоемкими, ручными и подвержены ошибкам, особенно при использовании в большом масштабе», — сказал Свами Сивасубраманян, вице-президент Amazon Machine Learning, в сегодняшнем анонсе. «CodeGuru сочетает многолетний опыт Amazon в разработке и развертыванию приложений и значительный опыт в области машинного обучения, предоставляя клиентам сервис, который улучшает качество программного обеспечения, радует своих клиентов более высокой производительностью приложений и устраняет их самые дорогие строки кода».
AWS сообщает, что несколько компаний уже начали использовать CodeGuru в период предварительного доступа. Это, например, Atlassian, EagleDream и DevFactory.