标签 '代码分析工具'

静态代码分析工具介绍

程序静态分析 通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。目前静态分析技术向模拟执行的技术发展以能够发现更多传统意义上动态测试才能发现的缺陷,例如符号执行、抽象解释、值依赖分析等等并采用数学约束求解工具进行路径约减或者可达性分析以减少误报增加效率。 词法分析:从左至右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描,通过使用正则表达式匹配方法将源代码转换为等价的符号(Token)流,生成相关符号列表,Lex为常用词法分析工具。 语法分析:判断源程序结构上是否正确,通过使用上下文无关语法将相关符号整理为语法树, Yacc为常用工具。 抽象语法树分析:将程序组织成树形结构,树中相关节点代表...

阅读全文

Facebook Infer静态代码分析工具详解

facebook 的 Infer 是一个静态分析工具。Infer可以分析Objective-C,Java或者C代码,报告潜在的问题。 1 安装 目前最新版本为v0.8.1,源码及下载链接https://github.com/facebook/infer。 1.1通过Docker(开源的应用容器引擎)安装(适用Liunx) Docker安装教程,使用yum命令安装步骤如下: 1)新增yum软件库 tee /etc/yum.repos.d/docker.repo <<-'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ ...

阅读全文

findbugs静态代码分析工具使用教程

FindBugs 是一个静态分析工具,很多程序猿都在使用,再次详细列出findbugs的使用教程,希望对大家有帮助。 1 安装 FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析。Findbugs有两种工具形式,一种是界面形式另一个是插件形式,能够在liunx上部署,为了使用方便这里使用插件的形式,具体安装步骤如下: Eclipse —> help —> Eclipse Markerplace.. 搜索findbugs如下图所示,点击install一直往下安装即可 验证:在window —> Preferences 中搜索findbugs 如果出现即为安装成功 项目右键 —> findbugs能够找到findbugs即为安装成功 2...

阅读全文