189 8069 5689

java静态代码分析工,JAVA代码分析

java 代码分析

//这三个 Name,Age,BornYear是类还是对象?

创新互联公司于2013年开始,先为同德等服务建站,同德等地企业,进行企业商务咨询服务。为同德企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

这是三个变量,不是类,分别是一个String 型变量,两个int 型变量

public Id(String name, int age,int bornyear) {

......

}

上面这个是一个构造方法,里面调用了下面的set方法:比方说:this.setName =(name)

就是把传入这个构造方法的String name的值用setName这个方法把值赋给上面的

private String Name;

Id Tom=new Id("Tom",22,1989);这里进行实例化的时候,就赋予了初值,因为上面的构造方法都是带有参数的,所以把参数传进去,然后构造方法又调用set方法赋值。

Tom这个Id类的实例,而这个类有个方法

private void show() {

System.out.println("name:"+this.getName()+",age="+this.getAge()+",bornyear="+this.getBornYear());

}

打印是因为这个语句 System.out.println();括号里就是打印内容

这里的get是获得private String Name的值

get和set方法就是为了设置值和获取值,不懂得可以再问

程序静态分析的分析技术及实践

程序静态分析(Program Static Analysis)可以帮助软件开发人员、质量保证人员查找代码中存在的结构性错误、安全漏洞等问题,从而保证软件的整体质量。还可以用于帮助软件开发人员快速理解文档残缺的大规模软件系统以及系统业务逻辑抽取等系统文档化等领域。 如开发20年以上的金融核心COBOL系统,动辄上千万行代码的系统规模。对于理解这样规模的系统,基于程序静态分析的辅助理解工具就能发挥积极作用。

本文首先对程序静态分析的特点、常用静态分析技术、静态分析实现方式进行描述,然后通过一个实例讲解了程序静态分析的执行过程。 程序静态分析是与程序动态分析相对应的代码分析技术,它通过对代码的自动扫描发现隐含的程序问题,主要具有以下特点:

(1)不实际执行程序。动态分析是通过在真实或模拟环境中执行程序进行分析的方法,多用于性能测试、功能测试、内存泄漏测试等方面。与之相反,静态分析不运行代码只是通过对代码的静态扫描对程序进行分析。

(2)执行速度快、效率高。目前成熟的代码静态分析工具每秒可扫描上万行代码,相对于动态分析,具有检测速度快、效率高的特点。

(3)误报率较高。代码静态分析是通过对程序扫描找到匹配某种规则模式的代码从而发现代码中存在的问题,例如可以定位strcpy()这样可能存在漏洞的函数,这样有时会造成将一些正确代码定位为缺陷的问题,因此静态分析有时存在误报率较高的缺陷,可结合动态分析方法进行修正。 (1)词法分析:从左至右一个字符一个字符的读入源程序,对构成源程序的字符流进行扫描,通过使用正则表达式匹配方法将源代码转换为等价的符号(Token) 流,生成相关符号列表,Lex为常用词法分析工具。

(2)语法分析:判断源程序结构上是否正确,通过使用上下文无关语法将相关符号整理为语法树, Yacc为常用工具。

(3)抽象语法树分析:将程序组织成树形结构,树中相关节点代表了程序中的相关代码,目前已有javacc/ Antlra等抽象语法树生成工具。

(4)语义分析:对结构上正确的源程序进行上下文有关性质的审查。

(5)控制流分析:生成有向控制流图,用节点表示基本代码块,节点间的有向边代表控制流路径,反向边表示可能存在的循环;还可生成函数调用关系图,表示函数间的嵌套关系。

(6)数据流分析:对控制流图进行遍历,记录变量的初始化点和引用点,保存切片相关数据信息。

(7)污点分析:基于数据流图判断源代码中哪些变量可能受到攻击,是验证程序输入、识别代码表达缺陷的关键。

(8)无效代码分析,根据控制流图可分析孤立的节点部分为无效代码。

程序静态分析是在不执行程序的情况下对其进行分析的技术,简称为静态分析。而程序动态分析则是另外一种程序分析策略,需要实际执行程序。大多数情况下,静态分析的输入都是源程序代码,只有极少数情况会使用目标代码。静态分析这一术语一般用来形容自动化工具的分析,而人工分析则往往叫做程序理解。

静态分析越来越多地被应用到程序优化、软件错误检测和系统理解领域。Coverity Inc.的软件质量检测产品就是利用静态分析技术进行错误检测的成功代表。国内某软件公司的闪蝶(BlueMropho)代码分析平台,是利用程序静态分析技术专注于大型机遗留系统的代码理解领域,尤其擅长分析千万行代码规模级的COBOL系统。

静态分析是指?

经济领域概念

静态分析是一种分析经济现象的均衡状态以及有关的经济变量达到均衡状态所需要条件的分析方法。[1]而不考虑经济现象达到均衡状态的过程,它完全抽象掉了时间因素和具体的变化过程,是一种静止地、孤立地考察某种经济事物的方法。

百科

静态分析

经济领域概念

静态分析是一种分析经济现象的均衡状态以及有关的经济变量达到均衡状态所需要条件的分析方法。[1]而不考虑经济现象达到均衡状态的过程,它完全抽象掉了时间因素和具体的变化过程,是一种静止地、孤立地考察某种经济事物的方法。

中文名

静态分析

外文名

static analysis

指标

总量指标、相对指标、平均指标、标志变异指标等

应用

静态计算机科学、经济学、工程、力学、机械

释义

根据既定的外生变量值求得内生变量的分析方法

内涵

静态分析法是根据既定的外生变量值求得内生变量的分析方法,是对已发生的经济活动成果,进行综合性的对比分析的一种分析方法。

如研究均衡价格时,舍掉时间、地点等因素,并假定影响均衡价格的其他因素,如消费者偏好、收入及相关商品的价格等静止不变,单纯分析该商品的供求达于均衡状态的产量和价格的决定。简单地说就是抽象了时间因素和具体变动的过程,静止地孤立地考察某些经济现象。它一般用于分析经济现象的均衡状态以及有关经济变量达到均衡状态所需要的条件。

常用的静态分析法有:相对数分析法、平均数分析法、比较分析法、结构分析法、因素替换分析法、综合计算分析法、价值系数分析法等。

指标


网站标题:java静态代码分析工,JAVA代码分析
网页路径:http://cdxtjz.com/article/hcsejs.html

其他资讯