Facebook открыла код статического анализатора Infer для Java, Objective-C и C
Интернет-гигант Facebook объявил об открытии исходного кода программного продукта, использовавшегося внутри компании для верификации кода, — Infer.
В сентябре 2013 года Facebook купила стартап Monoidics, который специализировался на верификации кода и разрабатывал статический анализатор Infer. Он написан на OCaml и поддерживает три языка программирования: Java, Objective-C и C. На сегодняшний день в Facebook используют Infer для «верификации избранных свойств каждого изменения кода в мобильных приложениях». К последним относятся основные приложения Facebook для Android и iOS, а также Facebook Messenger, Instagram и другие.
Из доклада Facebook (PDF), приуроченного к открытию кода Infer: «Мы обнаружили, что верификация может быть эффективной, если при её использовании учитывать, когда и почему программисты ждут обратной связи. Infer запускается на каждом diff — изменении кода, представленном разработчиком для анализа кода. Каждый день сообщается о множестве багов в diff’ах и они исправляются разработчиками до того, как этот diff будет действительно выкачен на телефоны».
Исходный код Infer опубликован на условиях свободной лицензии BSD и доступен на GitHub. Сайт проекта — fbinfer.com.
Дмитрий Шурупов по материалам Thenextweb.Com.