Специалисты из лаборатории информатики и искусственного интеллекта в МТИ представили необычное решение для исправления багов в коде. Они предлагают исправлять ошибки кода автоматически, заимствуя куски для замены из других, донорских программ.

Пока одни специалисты считают заимствование кода в приложениях большой проблемой, другие полагают, что за этим будущее. На конференции 36th ACM SIGPLAN Conference on Programming Language Design and Implementation специалисты МТИ представили алгоритм CodePhage, чей принцип работы очень похож на пересадку органов человеку. В роли «пациента» здесь выступает код, который нужно исправить. CodePhage сам подыскивает «донорский орган», то есть адекватную замену «больному» коду в других приложениях и репозиториях, используя open source решения. Роли не играет даже то, что «донорский» код может написан на совершенно другом языке. CodePhage попробует запатчить брешь и проверит, все ли прошло удачно. Эту последовательность действий алгоритм будет повторять до победного, пока не найдет «идеального донора».

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

Более подробно с работой алгоритма можно ознакомиться в докладе, представленном на конференции.

Фото: guitavares@flickr

Оставить мнение