一个著名的程序静态分析工具

元编译(覆盖)

这款静态分析工具由斯坦福大学副教授Dawson Engler开发,允许用户使用一种叫做metal的状态机语言编写定制的时间序列规则,从而实现了静态分析工具的可扩展性。MC实际效果极佳,号称发现Linux内核数百个安全漏洞。MC已经商业化,属于Coverity Inc.2014,被新思科技收购。目前,学术界公认的静态分析工具在技术上处于领先地位。

Mygcc由法国人N. Volanschi开发,其思想来自MC,试图将自定义错误检测集成到编译时。

克洛克沃克

国内使用最广泛的静态分析工具,由北电1996开发,是国内最早可以检测语义缺陷的静态分析工具。截至2015,其版本号为V10,俗称K10。

LDRA试验台

英国编码规则检测工具,原由利物浦大学开发,可支持数千种C/C++项目的规则检测,包括MISRA C/C++、GJB5369等。是第一个进入中国市场的静态分析工具,广泛应用于军事和军工领域。但其技术仅支持样式检测,无法分析语义缺陷,导致一些常见的运行时缺陷无法被发现或市场占有率较高。截至2015,其版本号为9.5。

惠普强化

美国惠普公司支持安全漏洞检测工具,可检测C/C++/Java/PHP/ASP/JavaScript等多种语言的数千个检测项,是国内应用最广泛的静态分析工具。但是,该工具的整体误报率和漏报率较高。虽然支持多种安全漏洞,但是需要用户做大量的二次开发工作。

Cobot(库博)

北京大学软件工程中心开发的静态分析工具,可以支持编码规则、语义缺陷的程序分析,检测C/C++中成千上万的规则和缺陷。是国内唯一的静态分析产品商业工具。由于拥有自主知识产权,对国产操作系统和编码标准支持较好,检测精度与上述工具基本相同,因此也得到了众多用户的认可。

parasoft c++测试

美国Parasoft公司开发的支持C和C++静态分析的工具,不仅可以检测编码规则,还可以检测少量语义缺陷,生成测试用例。