Новая система, разработанная в Массачусетском технологическом институте, чинит баги в коде нестандартным способом: она одалживает “здоровый” код из других приложений и затем фиксит баг, даже не получая доступ к оригинальному исходному коду. Система под названием CodePhage разработана в CSAIL – Лаборатории компьютерных наук и искусственного разума при MIT, сообщает MIT News.

Можно представить эту схему на примере трансплантации органов: больной будет представлять собой забагованную программу. А “донорский орган” – это кусок кода из другого приложения. Это, конечно, грубая метафора, но она помогает пояснить суть работы системы.

Когда CodePhage идентифицирует баг, она начинает искать фикс во множестве других программ и репозиториев. Когда система находит рабочий кусок “донорского” кода, она применяет его на “пациенте”, тестируя, куда именно он подойдет, при этом даже не получая доступ к исходнику чужого кода. Система продолжает эти тесты, пока не найдет идеального “донора”. Более того, для системы неважно, на каком языке написаны код изначальной программы и программы, в которой ищет решение.

Идея создания CodePhage – не в этом, а в том, чтобы в будущем вообще минимизировать необходимость писать новый код. “Идея в том, что в будущем вам никогда не придется писать код, который кто-то уже написал. Система найдет куски кода и автоматически соединит их, с теми, которые нужны для работы программы”, – объясняет Мартин Ринар, один из создателей CodePhage.

Напомним, украинская компания WebProduction, которая разрабатывает CRM-систему OneBox, успела нанять 11 программистов и уволить одного стажера при активной помощи самой CRM-системы, т.е. фактически, программа сама принимала решение, кого уволить.