Шаг на пути к вечной молодости ПО
Оказывается у программного обеспечения и фруктов есть что-то общее: они могут портиться со временем. Но в то время как банан, который лежал слишком долго, не может превратиться в свежий, старый программный код, который больше не функционирует так, как делал это когда-то, можно возродить.
Команда исследователей из лаборатории института информатики и искусственного интеллекта Массачусетского технологического университета нашли способ, как автоматически восстановить старое, плохо работающее программное обеспечение в свежий рабочий код. Это важный вопрос для компаний, которые могли бы не тратить тысячи долларов на разработчиков, чтобы восстановить старое программное обеспечение, которое уже не способно работать так же эффективно, как раньше.
Часто программы, написанные несколько лет назад, больше не могут функционировать должным образом на последних новинках компьютерной техники и оборудования, объяснил в своем интервью профессор MIT Саман Амарасинг. Причина этого состоит в том, что программное обеспечение должно быть приспособлено для работы на конкретной версии ПК. Каждый этап развития технологий производства аппаратного обеспечения и увеличения производительности машин должен сопровождаться тем, что программа получает обновления, чтобы учесть все изменения.
Как правило, программисты тратят много часов, чтобы внести эти изменения, добавить несколько строк кода, и добавить алгоритмы, обеспечивающие эффективную работу ПО с современными аппаратными спецификациями. Тем не менее, каждый раз, когда программист перестраивает программное обеспечение и добавляет новый код, программа неизбежно становится более раздутой.
Кроме того, алгоритмы и дополнительный код, используемый для обеспечения соответствия ПО с текущими спецификациям аппаратных средств, часто становится недействительными при выходе на рынок следующего поколения устройств. После того, как код таким образом замусоривается, программа в целом может быть медленной и даже не отвечать при попытке ее запустить. В английском языке это называют гнилым кодом, отсюда и странное сравнение с фруктами в начале статьи.
Команда MIT разработала систему программного обеспечения под названием Helium, которая сканирует устаревшее программное обеспечение, открывает самые важные строки кода, написанные создателями, чтобы определить его функции, а затем строит пересмотренную версию программы, которая работает с современными аппаратными спецификациями.
То, что раньше было длительным процессом и могло занять целый месяц, по утверждениям исследователей MIT, теперь можно сократить до часа.
Амарасин объяснил, что Массачусетский технологический институт проверял свою систему вместе с несколькими инженерами Adobe, которые искали пути возрождения старой версии Photoshop, чтобы заставить старую программу работать быстрее и быстрее обрабатывать изображения с использованием современных аппаратных средств.
В то время как Google и Facebook работают с программным обеспечением не старше трех лет, Adobe и другие компании могут иметь программы или приложения, которые уже существуют достаточно давно и с возрастом не становятся лучше. Инженеры Adobe хотели найти способ заставить Photoshop лучше работать без необходимости тратить традиционные человеческие ресурсы на его доработку.
Массачусетский технологический институт утверждает, что, когда они использовали Helium для анализа и улучшения Photoshop, производительность программы увеличилась на 75 процентов. Попрощайтесь с медленной загрузкой ваших любимых фотографий из отпуска, которые вы хотите сделать более красочными.
В настоящее время Helium не совсем готов к релизу, и может потребоваться еще несколько лет до того, как он будет готов для широкого использования. Сотрудничество с Adobe было только тестом для новинки, и компания не собирается использовать его в своих продуктах сейчас.
Кроме того, в то время как Helium может возродить старый код, в настоящее время он работает только с программным обеспечением для обработки изображений, каким и является Photoshop, потому что получение программы для редактирования изображения является относительно простой задачей по сравнению с другими более сложными программными продуктами.
Тем не менее, если Helium заработает, он может создать много преимуществ для бизнеса.