Hitech logo

Обучение машин

ИИ подскажет программистам, как оптимизировать код

TODO:
Георгий Голованов11 октября 2018 г., 09:38

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

Самые интересные технологические и научные новости выходят в нашем телеграм-канале Хайтек+. Подпишитесь, чтобы быть в курсе.

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

Инструмент, созданный специалистами Университета Пердью (США), называется DiffProf и использует ИИ для того, чтобы автоматически определить функции, которые следует оптимизировать, и способ оптимизации. Одну и ту же задачу можно решить разными способами, и DiffProf находит эти различия и сравнивает их на предмет энергозатрат, сообщает Science Daily.  

«Что если какая-то функция приложения потребляет 70% батареи телефона? Есть ли тут пространство для улучшения, или ее следует оставить как есть?» — задается вопросом профессор Чарли Ху, руководитель проекта. В 2012 его лаборатория впервые представила инструмент, помогающий разработчикам находить места в коде, которые приводят к максимальному потреблению энергии.

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

Проверив работу ИИ на устройстве Android, разработчики установили, что Google Hangouts, например, не такой энергоэффективный, чем WhatsApp или Facebook’s Messenger. Также DiffProf обнаружил лишний расход энергии в антивирусе Касперского и музыкальном приложении Pandora.  

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