一.环境配置: 1.jdk安装及配置 2.MySQL数据库安装----直接调用服务器院端的MySQL数据库,在此基础上创建新的数据库sonar.  数据库的配置如下: 3.sonar官网下载sonarqube版本,选择的是5.6.3版本,官网说是长期支持,所以选的这个版本.注意sonarqube对应的sonar scanner版本号是2.8.也可以用sonar runner,其实runner跟scanner一样.  http://www.sonarqube.org/downloads/  下载s…
一.SonarQube静态代码扫描平台 1.1 安装 https://www.sonarqube.org/官网 1.2 下载软件包 https://www.sonarqube.org/downloads/ [root@sonar-server ~]# mkdir /usr/local/sonarc [root@sonar-server ~]# cd /usr/local/sonarc [root@sonar-server sonarc]# wget https://binaries.sonars…
一.静态代码分析         静态代码分析是一种通过检查代码而不是执行程序来发现源代码中错误的手段.通常可以帮助我们发现常见的编码错误,例如: 语法错误 违反制定的标准编码 未定义的变量 安全性问题 静态代码分析可以通过评估编写的代码来提高代码质量:可以稳定的运行且可以轻松自动化:增加了在源代码中发现漏洞的可能性,从而提高应用安全:由于是针对源码扫描可以在离线的开发环境中完成.但是静态代码分析并不能完全保证编写的代码没有Bug,它也有一些缺点,例如: 误报问题,发现了一个不是错误的错误. 静…
0.前言 PMD作为开源的静态代码扫描工具有很强的扩展能力,可使用java或xpath定制rule.第一篇从操作上讲解如何定制一个用于扫描xml是否规范的规则.首先我们知道xml格式的文件在java工程里往往用于配置文件,像web的ssm框架里的applicationContext.xml或者是sqlMapConfig.xml等等.在安卓工程里同样会使用xml,本文主要以安卓的配置清单--AndroidManifest.xml做基础来讲解. 1.准备 知识准备:http://www.w3scho…
使用OClint进行iOS项目的静态代码扫描 原文链接:http://blog.yourtion.com/static-code-analysis-ios-using-oclint.html 最近需要一个静态分析代码工具,帮助我们发布运行应用前找到代码潜在的问题. 其实对于iOS开发,我们的日常开发上已经用到了这样一个静态分析的工具,那就是 Clang, Clang 是支持C.C++.Objective-C 和 Swift 的一个前端编译工具,他将 OC 或者 Swift 的代码输出抽象语法树(…
Lint和FindBugs一样,都是静态代码扫描工具,区别在于它是Android SDK提供的,会检查Android项目源文件的正确性.安全性.性能.可用性等潜在的bug并优化改进. 下图简单地描述了Lint工具的原理. 在Eclipse中右键工程,在出现的菜单中选择Android Tools中的Run Lint,即可执行Lint测试.结果如图所示. Lint也可以通过命令行的方式对工程进行测试,并同时产生测试报告.在终端中输入: lint apidemos --html apitest.htm…
一.前言 通过前面三篇文章已经初步实现了将Lua源代码文件读取解析成语法树,现在就可以通过得到的语法树进行指定规则的代码扫描检查.下图简单列举了一下单个Lua文件内部的语法关系情况(注意并非真正的类图,也没有列举完全部的节点类型). 二.变量作用域 1 function main() 2 local value = g_total + 1 3 print("value:", value) 4 end 上面的简单代码里有一个g_total的全局变量,它可能来自前面代码块的定义,也有可能来…
一.语法分析 通过将词法分析获取的Token流按照目标语言的语法进行解析的过程,例如解析函数声明.函数调用.变量声明.各种语句等. 二.Lua语法分析 在写语法分析程序前,先需要了解Lua的语句和语法,然后进行逐个解析. 下面简单列举一下Lua的语句:     1. 函数定义 1 -- 普通的函数声明 2 function demo1() 3 -- <函数体> 4 end 5 -- 类方法 6 function t.demo2(self) 7 -- <函数体> 8 end 9 --…
OClint是针对C, C++及Objective C代码的静态扫描分析工具,而SonarQube是一个开源的代码质量管理平台.本文将实现将OClint的扫描结果导入到SonarQube中,已实现对Objective C代码质量的管理. 操作系统: Mac OS X 10.9 所需工具: SonarQube : sonarqube-4.4 - http://www.sonarqube.org/downloads/ Sonar Runner : sonar-runner-dist-2.4 - ht…
jenkins架构 1.一台机器作为jenkins master不进行构建操作,只负责调度其他slave节点执行任务 2.一台slave机器作为执行机器存放从gitlab上拉取的代码,使用sonar-scanner进行代码扫描和使用sonarqube进行页面展示, 步骤 1.在执行机上安装sonarqube和sonar-scanner两个工具 执行机器主要任务有 1.存储代码 2.进行代码扫描 3.根据自己编写的python脚本生成自定义的邮件内容 4.sonar页面展示 下载地址:......…