常用静态代码分析工具之CodeAnalyzer
作者:CodeAnalyzer 发布时间:[ 2020/5/22 17:09:30 ] 推荐标签:静态代码分析工具
静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等。
在软件开发过程中,静态代码分析往往先于动态测试之前进行,同时也可以作为制定动态测试用例的参考。统计证明,在整个软件开发生命周期中,30%至70%的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的。
但是,由于静态代码分析往往要求大量的时间消耗和相关知识的积累,因此对于软件开发团队来说,使用静态代码分析工具自动化执行代码检查和分析,能够极大地提高软件可靠性并节省软件开发和测试成本。 静态代码分析工具的优势
1. 帮助程序开发人员自动执行静态代码分析,快速定位代码隐藏错误和缺陷。
2. 帮助代码设计人员更专注于分析和解决代码设计缺陷。
3. 显著减少在代码逐行检查上花费的时间,提高软件可靠性并节省软件开发和测试成本。 现有主流静态分析工具
CodeAnalyzer(简称CA)是上海泽众软件科技有限公司自主研发的专业代码质量管理的代码审查软件,用于实现静态分析、代码走查、代码规范检查以及代码潜在错误分析的白盒测试工具,它是一种脱离编译器的代码静态分析软件产品。
支持多系统、多语言、多规则
CA基于Java开发,Java Swing的模式支持系统跨平台运行;
支持C、C++、Java等多种编程语言扫描;
支持windows平台、linux平台、命令行环境、IDE环境。规则包含国军标5369,MISRAC:2004,国军标5369(C++),Java sun 编程规范,Java sun 安全规则等。
无需测试用例的测试
CA是根据预定的规则对代码进行扫描分析,检查代码是否符合编码规范和各种规则,查找可能的错误,无需编写测试用例可以实现自动化测试,节省大量的人力。
基于编译的代码分析
静态分析工具基于编译和基于模式的两种方法。CA基于编译的方法,是对整个代码进行扫描分析,相对于基于模式的方法,扫描某个段落的上下文,来判断是否违反了规则,能获得更和完备的分析,便于用户自定义规则的实现。
集成与扩展性
CA是基于用户的软件生命周期环境来设计的,通过提供开放的接口,支持与测试管理软件、项目管理软件等集成。CA提供了图形用户界面(GUI)、命令行、外部接口(DLL)等多样化的用户接口,用户可以根据自己的需求,通过图形界面将源代码逐个导入到CA里进行分析,也可以通过SHELL或者批处理命令BAT来调用命令行;通过对外接口API,CA支持根据代码符合规范的程度对程序员编写的代码评分,还可以轻松实现CA和配置管理工具SVN的集成。
代码级测试覆盖
CA支持对源代码进行解析,得到代码的控制流程图,通过对流程图进行代码走查,实现代码级的测试覆盖,轻松实现XUnit单元测试模块的构建。CA还可以通过时间设定,只检验更新的代码,提高效率。
多样化分析报告
CA支持控制报告的输出形式,将分析结果返回到日志文件或者将分析结果返回数据库表中,为客户提供进一步处理的资料。包括缺陷统计信息、安全漏洞统计信息、软件架构分析、类关系分析、函数调用关系分析、脚本关系分析、度量分析等.。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11