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