Новая система, разработанная в Массачусетском технологическом институте, чинит баги в коде нестандартным способом: она одалживает «здоровый» код из других приложений и затем фиксит баг, даже не получая доступ к оригинальному исходному коду. Система под названием CodePhage разработана в CSAIL — Лаборатории компьютерных наук и искусственного разума при MIT.
Можно представить эту схему на примере трансплантации органов: больной будет представлять собой забагованную программу. А «донорский орган» — это кусок кода из другого приложения. Это, конечно, грубая метафора, но она помогает пояснить суть работы системы.
Когда CodePhage идентифицирует баг, она начинает искать фикс во множестве других программ и репозиториев. Когда система находит рабочий кусок «донорского» кода, она применяет его на «пациенте», тестируя, куда именно он подойдет, при этом даже не получая доступ к исходнику чужого кода. Система продолжает эти тесты, пока не найдет идеального «донора». Более того, для системы неважно, на каком языке написаны код изначальной программы и программы, в которой ищет решение.
Идея создания CodePhage не в этом, а в том, чтобы в будущем вообще минимизировать необходимость писать новый код. «Идея в том, что в будущем вам никогда не придется писать код, который кто-то уже написал. Система найдет куски кода и автоматически соединит их, с теми, которые нужны для работы программы», — объясняет Мартин Ринар, один из создателей CodePhage.
Горячие темы