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…
一.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…
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…
一.静态代码分析         静态代码分析是一种通过检查代码而不是执行程序来发现源代码中错误的手段.通常可以帮助我们发现常见的编码错误,例如: 语法错误 违反制定的标准编码 未定义的变量 安全性问题 静态代码分析可以通过评估编写的代码来提高代码质量:可以稳定的运行且可以轻松自动化:增加了在源代码中发现漏洞的可能性,从而提高应用安全:由于是针对源码扫描可以在离线的开发环境中完成.但是静态代码分析并不能完全保证编写的代码没有Bug,它也有一些缺点,例如: 误报问题,发现了一个不是错误的错误. 静…
一.前言 通过前面三篇文章已经初步实现了将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 --…
前言 2017年2月9日,首次公布<阿里巴巴Java开发手册>; 2017年9月25日,阿里巴巴集团发布了<阿里巴巴Java开发手册>PDF终极版; 2017年10月14日,在2017杭州云栖大会上,规约插件全球首发. 阿里巴巴发布java开发手册对JAVA研发是一大福音,最近推出了IDEA的代码检查插件更是一神兵利器. 开发手册从意识上统一了研发团队代码风格,规范插件则是从行动上强制规范落地. 对测试来说也是非常有力的工具,代码走读需要一定代码基础,有门槛, 但规范可以通过工具扫…
静态检查: 静态测试包括代码检查.静态结构分析.代码质量度量等.它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行.代码检查代码检查包括代码走查.桌面检查.代码审查等,主要检查代码和设计的一致性, 代码对标准的遵循.可读性,代码的逻辑表达的正确性,代码结构的合理性等方面:可以发现违背程序编写标准的问题,程序中不安全.不明确和模糊的部分,找出程序中不可移植部分.违背程序编程风格的问题,包括变量检查.命名和类型审查.程序逻辑审查.程序语法检查和程序结构检查等内容.”.看了一系列的…