多语言展示
当前在线:1042今日阅读:99今日分享:20

静态分析工具有哪些特点?

静态分析工具不需要运行被测试的软件代码,仅以源代码文件为输入并对其软件复杂性、代码规范性、质量度量元、内存使用等方面进行分析和检查,以此来评估软件的实际情况与用户定制的质量模型的差距。与人工进行静态分析和代码审查方式相比,使用工具不仅可以提高工作效率,而且可以保证分析工作的全面性。现在的静态分析工具一般提供以下两个功能:分析软件的复杂性、检查代码的规范性。具有分析软件复杂性的静态分析工具的典型代表是McCabe,其内部包含软件质量标准化组织制定的ISO/IEC91 26质量模型,该模型用来量化地衡量一个软件产品的质量,除此之外,McCabe还从其它的质量方法学中吸收一些元素,比如Halstend质量方法学、McCabe质量方法学。这些静态分析工具允许用户调整质量模型中的一些数值,以更加符合实际情况的要求。具有检查代码规范性功能的静态分析工具,其内部包含了得到公认的编码规范,比如函数、变量、对象的命名规范,函数语句数的限制等等,工具支持对这些规范的设置。工具的使用者可根据情况,裁减出适合自己的编码规范,然后通过工具对代码进行分析,定位代码中违反编码规范的地方。其典型代表是LDRA Testbed系列测试工具。LDRA testbed并非单纯的静态分析工具,它是LDRA一系列测试工具的集合,包含动态测试。事实上,很多动态测试工具在进行动态测试之前,都会对代码进行一定程度的静态分析,LDRA testbed即是如此。该工具在使用时,首先选择静态分析的内容和程度,例如圈复杂度分析、静态数据流分析、交叉索引分析、信息流分析等等。LDRA进行静态分析比较值得一提的是其编码规则的修改和定制功能。它既可以修改既有的规则集里某些规则的适用与否,也可以自己定制规则集,这是该测试工具作为静态分析工具的一个亮点。
推荐信息