- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
库博V2.7
程序静态分析解决方案
北京大学软件工程国家工程研究中心
北京北大软件工程发展有限公司
Cobot
1. COBOT 简介
库博是由北京北大软件工程发展有限公司和北京大学软件工程国家工程研
究中心联合研发的一种C/C++程序静态分析工具,采用基于专利技术分析引擎开
发的具有自主知识产权静态分析框架,综合运用了多种最先进的静态分析技术,
第一时间发现代码的问题,自动识别质量缺陷、安全漏洞、架构问题,并可以进
行软件度量及规则的定制化分析、质量报表的模板定制。
库博与一般的源代码分析工具不同,一般的源代码分析工具只能分析纯静态
的代码问题,如编码规则检测、架构检查等。而库博可以分析运行时缺陷 (语义
缺陷),库博的代码分析是通过算法全路径,遍历每条可执行路径,发现传统意
义上只有通过动态测试才能发现的代码缺陷,如内存泄漏、空指针解引用等问题。
还能分析代码中存在的安全漏洞,如数组越界、缓冲区溢出等。
1.1 工具的特点
库博相比于其他国产静态分析工具的主要特点如下:
1) 更强大的语法词法分析:能够在编译不通过的情况下进行检测,分析,并提
示编译缺少的文件,但仍不影响整体检测。
2) 更多的缺陷检测类型:支持更多的运行时缺陷的检测,相比于国外领先工具
(如Klocwork )具有相似的误报率(15%左右)及更低的漏报率(相对漏报率约
20% 以下,能够发现若干Klocwork 不能发现的或遗漏的缺陷) 。
3) 更多的在线用户:由于库博采用B/S 的模式,所以部署一套系统,可支持多
用户同时在线检测,只需在用户管理中配置相应的用户。
4) 更完善的缺陷确认机制:在缺陷检测完毕后,能够快速定位缺陷发生的行数,
并且库博提供变量的定义处、函数的定义处以及函数被调用点的自动定位等
功能,并以统计图方式显示各等级缺陷。
5) 更加快速检测:百万行代码可在1 小时之内检测完毕。
6) 更加易用:在检测项配置阶段,能够自动给出每种检测配置项的解释及用例,
并能按照用户的要求配置结果输出模板,并支持WPS 等国产办公软件。
7) 分析的缺陷全面、准确,综合统计准确率达90% 以上。
8) 强大的适应性,能分析上千万行代码,并支持复杂的编译环境。
9) 能够与程序版本库进行同步,实现代码的自动更新检测。
10) 支持多核、多CPU 平行分析,支持多服务器分布式分析。
Cobot
11) 支持国产化信息环境,如中标麒麟操作系统、金山WPS 等。
12) 能够为用户“量身定制”各类编码规则及语义缺陷,并且自动生成各类报表
和文档。
13) 支持嵌入式编译器的配置并内置Keil,CCS 等编译器默认字节长度选项
14) 检测结果的误报过滤,用户发现某个缺陷的误报可以标注,二次检测时该缺
陷会被过滤
1.2 支持标准
1) 国际标准
MISRA C2004 英国汽车工业软件可靠性联会 C 语言标准
MISRA C++ 2008 英国汽车工业软件可靠性联会 C++语言标准
2) 国家标准:
GJB航天型号C 语言安全子集
GJB 8114 C/C++语言编程安全子集
GB/T 28169 2011 嵌入式软件 C 语言编码规范
3) 行业标准:
921 C-2007 载人航天921 工程C 语言安全子集
CRSC-2014 高速铁路某研究院C 语言安全子集 (COBOT 开发定制)
BACC-2008 总装某中心C 语言安全子集 (COBOT 开发定制)
1.3 支持的重要的缺陷
空指针解引用 释放非堆内存 缓冲区溢出
内存泄漏、资源泄漏 释放未分配内存 注入缺陷
线程死锁 不可达代码 未经验证的用户输入
使用未初始化变量 返回局部变量 DNS 欺骗
文档评论(0)