Инструмент находит ошибки после обновление программного обеспечения

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

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

Чтобы преодолеть это препятствие, исследователи из Техасского университета A & M в сотрудничестве с учеными-программистами из Intel Labs разработали полностью автоматизированный способ определения источника ошибок. Их алгоритм, основанный на специализированной форме машинного обучения, называемой глубоким обучением, является не только готовым, но и быстрым. Он находит ошибки производительности в считанные часы, а не дни.

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

СЧЕТЧИКИ ПРОИЗВОДИТЕЛЬНОСТИ

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

«Счетчики производительности дают представление о работоспособности программы», — говорит Музахид. «Таким образом, если какая-то программа работает не так, как предполагалось, эти счетчики обычно имеют явный признак аномального поведения».

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

НАЙТИ ОШИБКУ

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

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

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

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

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

15 + двадцать =