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

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>
      主站蜘蛛池模板: 晋宁县| 西贡区| 绥德县| 静乐县| 米泉市| 贡山| 抚顺县| 尉氏县| 嘉荫县| 漳州市| 收藏| 安丘市| 曲阳县| 常宁市| 启东市| 年辖:市辖区| 麻阳| 南陵县| 南澳县| 华容县| 桃江县| 沾益县| 正宁县| 客服| 保山市| 水城县| 中西区| 东乌| 广南县| 民权县| 安庆市| 桑日县| 衡东县| 桓台县| 策勒县| 梅河口市| 渑池县| 渑池县| 师宗县| 天峻县| 额尔古纳市|