facebook静态代码检查工具开源了!

来源:互联网 发布:云计算安全关键技术 编辑:程序博客网 时间:2024/05/16 01:34

以前一直想写个静态代码的检查工具,能够根据语法分析自动找出内存泄露的问题,今天发现facebook开源了这样一个工具,可以检查Java , Object c  和c代码,美中不足的是不支持C++。

facebook的这款工具叫Infer,用于在发布移动应用之前对代码进行分析,找出潜在的问题。目前 Facebook 使用该工具来分析 Facebook 的 App,包括 Android 、iOS、Facebook Messenger 和 Instagram 等等

Facebook 称该工具帮助其每个月检查出数百个应用中潜在的 Bug,例如一些空指针访问、资源和内存泄漏等等。支持 Android 的 Java 和 iOS 的 C 和 Objective-C 代码,它可以在不运行代码(一般开发者的调试方式都是编译、运行,查看结果,然后人工分析代码)的方式下,
1.通过词法分析
2.语法分析
3.控制流
4.数据流分析等技术对程序代码进行扫描,来验证代码是否存在问题或满足技术指标。
简直是神器!

Mac OS X: https://github.com/facebook/infer/releases/download/v0.1.0/infer-osx-v0.1.0.tar.xz
Linux: https://github.com/facebook/infer/releases/download/v0.1.0/infer-linux64-v0.1.0.tar.xz
安装步骤:
1.如果你是在Mac OS X上,运行:tar xf infer-osx-v0.1.0.tar.xz
2.如果你是在Linux上运行:tar xf infer-linux64-v0.1.0.tar.xz
3.创建一个目录如:infer-osx-v0.1.0/ directory (or infer-linux64-v0.1.0/ directory)
4.将infer添加到您的PATH中
5.cd infer-*v0.\1.0 &&echo "export PATH=\"\$PATH:pwd/infer/infer/bin\"" \ >> ~/.bash_profile &&source ~/.bash_profile
你可以找出哪些你是在你的终端运行echo $ SHELL使用shell。根据需要调整上面的命令添加到特定的shell。如果你在Linux上运行bash,您可通过“〜/ .bashrc中”中,如果“〜/ .bash_profile中”不存在上面的命令来替换“〜/ .bash_profile中”。
源地址:http://fbinfer.com/docs/getting-started.html
0 0
原创粉丝点击