Facebook曾經的格言是“快速行動,打破常規”,但隨著公司越來越大,代碼越來越多,這話可能得變成“快速行動,找出bug”了。為此Facebook,開發了智能工具Infer,它能自動找出移動應用中的漏洞。
現在,這一工具被開源了。Facebook在近日宣布任何人都能用Infer來調試自己的應用了。據介紹,它能像人類一樣查看代碼,並作出一些推測。但它的優勢是,數分鐘就能看完上千行代碼。Facebook已經用它修復了八成的漏洞。
多數的調試器都會先運行程序,然後逐行檢測代碼,但Infer能在不執行程序的情況下分析代碼,這一過程被稱為“靜態程序分析”。
靜態分析已經有數十年之久,也有了相應的商業和開源工具,不過它們無法像Infer那樣做大規模的深度分析。Infer能將代碼分解,小范圍分析後再將結果整合在一起,兼顧分析的深度和速度。
其實Infer也屬於人工智能的一種,不過它更接近於符號人工智能(symbolic AI)分支,而不是我們所熟知的神經網絡技術。
Infer技術最初來自初創公司Monoidics,後來該公司被Facebook收購。