声明:转载于huior的51testing测试分站http://www.51testing.com/?10851
CODESONAR
静态分析工具,编译时就能发现代码中的严重BUG
GrammaTech CodeSonar™ 通过对C/C++代码的整体分析,可以发现代码中复杂的编程错误,这些错误会导致系统崩溃、内存冲突以及其他严重的问题。
CodeSonar可以捕获测试用例集漏掉的问题。更重要的是,CodeSonar可以在开发过程中尽早的检测出代码的缺陷,从而可以更容易更便宜的得到修复。领先的组织,包括SanDisk, GE Aviation, Northrop, Grumman, the FDA, NASA都已经使用CodeSonar来提高软件的质量和削减成本。借助于CodeSonar,你的团队能够使用静态分析的威力,大大减少用于追踪调试严重缺陷的时间。
How the Analysis Works
就像编译器,CodeSonar需要编译你的代码,但并不会创建目标码,它创建的是程序的抽象表示。程序的整体模型模拟性的执行,分析中会记录追踪所有变量及其关联性,当遇到异常情况时,就会产生一个警告。CodeSonar不需要测试用例。
Highly Accurate Analysis
CodeSonar的分析考虑了程序内部的过程交互,是上下文关联、路径敏感和对象敏感的。使用先进的数据流分析,CodeSonar去除不可达的路径,从而保证非常低的误报率,余下的误报也能够被抑制住,在后面的分析中可以不再显示。
Works with Existing Build System
CodeSonar置身于编译系统之外。对源代码或者编译系统不需要任何改动。CodeSonar能够监视你的编译过程,从中学习到分析所需要的信息。需要说明的是,用户可以分析完整的程序,当然,也可以只分析部分程序。
Also Finds Security Vulnerabilities(也能发现安全漏洞)
CodeSonar还能够发现程序上的严重的安全缺陷,例如缓冲区溢出(buffer overruns)、格式化字符串漏洞(format string vulnerabilities)
Custom Checks
最终用户还可以很容易的扩展特定的检查,只需要使用API编写一些C代码,CodeSonar将会自动的包含到分析过程中。API支持非常广泛的自定义检查。
Results Displayed in HTML
CodeSonar的结果使用HTML格式显示。通过错误的路径、导致错误的条件都会在结果中显示,帮助用户理解错误及其关联。“理解程序”的特性可以帮助用户在代码中导航。
Advanced Reporting Features
CodeSonar包括基于WEB的缺陷管理系统,用户可以使用该系统来管理分析结果。用户可以定制其他人的视图(通过模块或者bug类型)只显示感兴趣的bug。警告可以使用状态信息和注解来标注。因为结果可以通过WEB浏览器查看和管理,所以用户不需要安装该产品就可以从中受益。CodeSonar可以很容易的建立在服务器上,用户可以在服务器上执行编译任务和存放分析结果。
Support for Integration with Other Defect Management Systems
CodeSonar的结果也可以是XML格式,用户可以创建自己的操作处理这些bug。这个特性使得CondeSonar很容易和大部分其他的缺陷管理系统集成使用,例如Bugzilla。
一些检查的类型描述请参考本站以前的两篇文章
http://www.51testing.com/?10851/action_viewspace_itemid_73347.html
http://www.51testing.com/?10851/action_viewspace_itemid_73406.html
系统需求
Supported languages
_ C
_ C++
Supported platforms
_ Linux
_ Windows
_ Solaris
Supported compilers
_ MS Visual Studio
_ GCC
_ G++
_ Intel C compiler
_ Sun CC
_ Arm CC
_ IAR compilers
_ Wind River compilers
_ Green Hills compilers
_ CodeWarrior compilers
_ Most other compilers easily supported
Warning output formats
_ HTML, with GrammaTech-provided web server and database
_ XML