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