软件质量保证-purify+purecoverage+coverity
软件质量保证-purify+purecoverage+coverity
一 内存检查工具Rational Purify
Purify是动态软件分析工具用来帮助开发人员写出更加可靠的代码。Purify使用了具有专利的目标代码插入技术(OCI:Object Code Insertion)。她在程序的目标代码中插入了特殊的指令用来检查内存的状态和使用情况。这样做的好处是不需要修改源代码,只需要重新编译就可以对程序进行分析。
功能包括包括
1)内存调试(准确地发现未初始化的内存访问,缓冲的溢出和内存的错误释放;
2)内存泄露的检查;
其他的内存泄露检测工具
Rational Purify
DevPartner BoundsChecker
Coverity
Glow Code
Insure++
RuntimeChecker
Memory Validator
Intel® Parallel Inspector
Visual Leak Detector
mpatrol
Valgrind
YAMD
ccmalloc
二 测试代码覆盖率工具Rational PureCoverity
PureCoverity用来检查单元测试的代码覆盖率。
三 性能分析工具Rational Quantify
四 静态检查工具Coverity
Coverity是基于源代码的检查,不需要运行软件(但是需要build软件),可以覆盖所有的path。执行过程为build->analysis->commit defect to database->view defects.
功能包括:
空指针检查;
缓冲越界;
资源泄漏;
代码逻辑错误;
内存泄漏;
内存不正确释放;
不正确的错误处理;
误用复数,API等;
deadlock;
其他的静态工具:
总结:通常地除了将regression(automation) test加入到daily build中,可以将软件的静态,动态分析,代码覆盖率的分析也加入到daily build中,使得软件的质量更加有保障。