软件缺陷静态分析CodeSonar

CodeSonar是软件静态缺陷检查和安全性分析工具,帮助团队快速分析和验证代码,包括源代码和二进制代码,识别导致系统故障、可靠性差、系统漏洞或不安全条件的严重漏洞或错误。
通过在并发性分析、污染数据流分析和全面检测等技术上的创新,CodeSonar比其他同类型工具发现更为重要的缺陷。

\功能特性

最深层次的静态分析

1.采用先进的算法
CodeSonar执行统一的数据流和符号分析,检查整个程序的运算。该方法不依赖于模式匹配或类似的近似。CodeSonar通过更为深入的分析自然而然地发现新的或不寻常的缺陷。
软件缺陷静态分析CodeSonar_第1张图片
2.分析数百万行代码
CodeSonar可以执行千万行代码的全程序分析。一旦完成了最初的基线分析,CodeSonar的增量分析能力快速分析代码库的每日变化。分析能并发运行,充分利用多核环境的优势。
软件缺陷静态分析CodeSonar_第2张图片
3.支持编程标准
CodeSonar支持编程和安全标准,如MISRA C:2012、IS0-26262、DO-178B、US-CERT以及CWE。软件缺陷静态分析CodeSonar_第3张图片
4.降低开发成本
在整个开发周期中识别和消除缺陷,帮助用户及时发布,降低商业风险和责任。

●定制分析
1.自定义检查
提供C API,易于创建新的检查。很多内置的检查也可以根据本地需求进行配置。
2.自定义度量
CodeSonar本身可以计算N种不同的代码度量,也可以使用API来定义自己的度量。

检查项示例
1.安全漏洞
■缓冲区溢出
■未初始化变量
■释放非堆变量
■释放后再使用
■双重释放/关闭
■格式化字符串漏洞
■返回局部变量指针
2.可靠性问题
■数据竞争
■死锁
■空指针间接引用
■双重关闭
■被零除
■危险函数转换
■资源泄漏

技术两点
■分析二进制文件,如:第三方库、驱动、中间件等(注)
■符号执行引擎
■可扩展
■增量分析能力
■基于浏览器的用户界面
■管理报告
■可扩展的分析引擎
■与其它工具集成
■易于安装无需更改构建环境
注:Case by case
系统需求

支持的语言
■C
■ C++
■Java
■Binaries

支持的平台
■Windows
■Linux
■Solaris

机器配置
■2 GHz CPU
■2 GB of RAM(注)
■15+ GB硬盘空间

支持的编译器
■Apple xcode
■ARM RealView
■CodeWarrior
■GCC
■G++
■Green Hills
■HI-TECH
■IAR
■Intel C/C++
■MS Visual Studio
■Renesas
■Sun C/C++
■Texas Instruments CodeComposer
■Wind River
■大多数其它编译器也很容易支持

输出格式
■HTML
■XML
■Text(纯文本和CSV)
注:这是串行模式的需求,并行模式要求512MB加上每个进程512MB(一个核)。
CodeSonar关注的是那些“真正能够引发问题”的软件缺陷,因此被广泛使用在安全关键和任务关键的系统,比如汽车电子、航空航天。由于算法的科学性和先进性,往往能检测到其它静态工具可能遗漏的问题所在。例如,对某开源代码的检测,如下隐藏在特定路径里的“条件表达式永远为TRUE”的案例,CodeSonar给出了较其它静态分析工具更为准确的表现:

软件缺陷静态分析CodeSonar_第4张图片观察102行,t1v_type == -1如果为真,顶层的while循环将退出;在switch语句中,164行,t1v_type == -1则不可能为真。CodeSonar指出这里是一个“copy-paste错误”,此检查比较“智能”,它认为此处的t1v_type应该是中间复制变量sub_t1v_type,这两个变量在错误的路径中都已高亮显示。

免费体验:http://www.softtest.cn/

你可能感兴趣的:(软件测试)