精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

Facebook開源了靜態分析工具Infer

責任編輯:editor006

作者:Abel Avram

2015-06-22 20:53:07

摘自:INFOQ

Facebook開源了適用于分析C、Java和Objective-C代碼的靜態分析工具Infer。Infer是Facebook的開發團隊在代碼提交內部評審時,用來執行增量分析的一款靜態分析工具,在代碼提交到代碼庫或者部署到用戶的設備之前找出bug。

Facebook開源了適用于分析C、Java和Objective-C代碼的靜態分析工具Infer。

Infer是Facebook的開發團隊在代碼提交內部評審時,用來執行增量分析的一款靜態分析工具,在代碼提交到代碼庫或者部署到用戶的設備之前找出bug。由OCaml語言編寫的Infer目前能檢測出空指針訪問、資源泄露以及內存泄露,可對C、Java或Objective-C代碼進行檢測。Facebook使用Infer自動驗證iOS和安卓上的移動應用的代碼,bug報告的正確率達80%。

Infer通過捕獲編譯命令,把要被編譯的文件轉換為可用于分析潛在錯誤的中間語言格式。整個過程是增量進行的,意味著通常只有那些有修改過并提交編譯的文件才會被Infer分析。Infer還集成了大量的構建或編譯工具,包括Gradle、Maven、Buck、Xcodebuild、clang、make和javac。

有一些類型的錯誤能用Infer檢測出,關于它們的更多細節內容可見此頁。Infer未來有望能加強對數組越界錯誤、轉換異常和污染數據泄露的檢測,Facebook目前已開始著手開發這些功能,但暫不可用。

在被問及能否增強Infer的功能,以使其可找出其他錯誤,并能應用于其他語言編寫的代碼時,Facebook的發言人答復InfoQ:“我們認為,關于Infer,這才只是一個開始,公司未來將持續致力于釋放更多的價值給程序員”,并表示Facebook希望能與社區一起合作,來進一步完善Infer:

Infer做的不錯,不過仍有許多跨工程組織的開放問題有待解決。一旦Facebook開源了Infer,就可以同許多工程組織、研究組織和學術組織進行合作,通過社區的努力,有可能最終Infer會增加一些新特性,能用來發現新類型的bug,甚至可以應用到新的語言上。

據Facebook透露,Infer根植于兩大基本理論之上,其一是霍爾邏輯,一種用于推理計算機程序正確性的形式系統,另一個是抽象解釋,該理論用于測度程序語義的逼近結果,此外還涉及其它一些研究成果,例如Separation Logic和Bi-abduction。

Infer的源代碼可在GitHub上獲取。

鏈接已復制,快去分享吧

企業網版權所有?2010-2025 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 尚志市| 丽水市| 土默特右旗| 肥东县| 辽宁省| 香河县| 水城县| 泽库县| 穆棱市| 云浮市| 收藏| 昌黎县| 涡阳县| 天长市| 常宁市| 慈溪市| 阿拉尔市| 隆德县| 洛宁县| 临夏市| 东明县| 囊谦县| 集贤县| 遂平县| 富宁县| 山丹县| 二连浩特市| 道孚县| 重庆市| 日土县| 永宁县| 个旧市| 科技| 南投市| 富顺县| 黎城县| 六盘水市| 水富县| 诏安县| 兰考县| 黄大仙区|