firehose
0.5
“ FireHose”是一個用於管理代碼分析工具(例如編譯器警告,靜態分析,襯裡等)的Python軟件包。
目前,它為GCC,Clang-Analyzer,Cppcheck和Findbugs的輸出提供了解析器。這些解析器將結果轉換為Python對象的常見數據模型,並通過提供的XML格式使用無損往返的方法。還有一個同等的JSON。
FireHose是免費軟件,根據LGPLV2.1或(您可以選擇)任何以後版本許可。
它需要Python 2.7或3.2,並已成功測試了PYPY。
目前具有α質量。
API和序列化格式尚未設定為石頭(並且在我們鎖定更多內容之前,我們渴望聽到反饋)。
動機:http://list.fedoraproject.org/pipermail/devel/2012-december/175232.html
我想將靜態代碼分析的結果降低到數據庫中,這意味著將所有結果脅迫成某些常見的互換格式,代碼為“ firehose”(也可以是數據庫的名稱)。
以及一個簡單的Python API,用於使用該格式作為Python對象的集合(創建,寫入XML,從XML讀取,修改等)
我最初考慮使用JSON,但是使用XML,因為如果多個工具要發射此功能,那麼能夠驗證事物對抗模式是一件好事(請參閱Firehose.rng,Releast-ng模式)。
格式中對源文件的引用可以包括源文件本身的哈希(例如SHA-1),以便您可以唯一地識別您在談論的源文件。
這種格式將被塞入Web UI的DB中,並且可以在不需要服務器的情況下完成其他操作:例如:
- 將其轉換為GCC編譯錯誤的文本形式,以便Emacs等可以解析並將您帶到源
- 在您的工作站上本地變成一個簡單的HTML報告
使用Firehose的項目:
- 模擬 - 劃分可以重建源rpm,從而捕獲FireHose格式的4種不同代碼分析工具的結果(以及任何報告中提到的所有源文件)。
- CPYCHECKER的“ Firehose”分支可以在本地發射Firehose XML報告
- https://github.com/paultag/storz/blob/master/wrappers/storz-lintian