Lint和FindBugs一样,都是静态代码扫描工具,区别在于它是Android SDK提供的,会检查Android项目源文件的正确性.安全性.性能.可用性等潜在的bug并优化改进. 下图简单地描述了Lint工具的原理. 在Eclipse中右键工程,在出现的菜单中选择Android Tools中的Run Lint,即可执行Lint测试.结果如图所示. Lint也可以通过命令行的方式对工程进行测试,并同时产生测试报告.在终端中输入: lint apidemos --html apitest.htm…
0.前言 PMD作为开源的静态代码扫描工具有很强的扩展能力,可使用java或xpath定制rule.第一篇从操作上讲解如何定制一个用于扫描xml是否规范的规则.首先我们知道xml格式的文件在java工程里往往用于配置文件,像web的ssm框架里的applicationContext.xml或者是sqlMapConfig.xml等等.在安卓工程里同样会使用xml,本文主要以安卓的配置清单--AndroidManifest.xml做基础来讲解. 1.准备 知识准备:http://www.w3scho…
infer是Facebook 的 Infer 是一个静态分析工具.可以分析 Objective-C, Java 或者 C 代码,报告潜在的问题. 任何人都可以使用 infer 检测应用,可以将严重的 bug 扼杀在发布之前,同时防止应用崩溃和性能低下. infer 可以检查 Java 和 Android 中的 NullPointException 和资源泄漏. 除了以上,infer 还可以检测 iOS 和 C 代码的内存泄漏! 应用范围: 包括 Facebook Android 和 iOS 主客…
预置条件: Jdk已安装 Mysql已安装 1. 下载 SonarQube和Sonar scanner. SonarQube: http://www.sonarqube.org/downloads/ Sonar scanner: https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner 2. 数据库配置 #mysql -u root -p mysql> CREATE DATABASE sonar CHARAC…
一.静态代码分析         静态代码分析是一种通过检查代码而不是执行程序来发现源代码中错误的手段.通常可以帮助我们发现常见的编码错误,例如: 语法错误 违反制定的标准编码 未定义的变量 安全性问题 静态代码分析可以通过评估编写的代码来提高代码质量:可以稳定的运行且可以轻松自动化:增加了在源代码中发现漏洞的可能性,从而提高应用安全:由于是针对源码扫描可以在离线的开发环境中完成.但是静态代码分析并不能完全保证编写的代码没有Bug,它也有一些缺点,例如: 误报问题,发现了一个不是错误的错误. 静…
简评: 作者在文中提到的三个静态代码分析工具不是互相替代的关系,各有各的侧重点,如果有需要完全可以同时使用. 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等. 对于 Android 来说用得最多的三个静态代码分析工具当属: Lint PMD Findbugs Lint Lint 是 Google 提供给 Android 开发者的静态代码分…
一.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…
想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研 http://blog.csdn.net/testing_is_believing/article/details/22675173…
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧.…
Android提供一个标准的视图工具箱来帮助创建简单的UI界面.通过使用这些控件(必要时,可以对这些控件进行修改). 创建一个简单的.xml文件,从预览窗口可以看到Android SDK提供的原生控件列表. 上述分为以下几类: 1. Form Widget:表单部件: 与之对应的控件形态如下: 2. Text Fields:文本框控件,能接受用户输入内容 以上每种控件均可接受用户输入,不同的是:inputType属性 android:inputType="numberDecimal"…
使用OClint进行iOS项目的静态代码扫描 原文链接:http://blog.yourtion.com/static-code-analysis-ios-using-oclint.html 最近需要一个静态分析代码工具,帮助我们发布运行应用前找到代码潜在的问题. 其实对于iOS开发,我们的日常开发上已经用到了这样一个静态分析的工具,那就是 Clang, Clang 是支持C.C++.Objective-C 和 Swift 的一个前端编译工具,他将 OC 或者 Swift 的代码输出抽象语法树(…
本文转自http://blog.csdn.net/gaofuqi/article/details/22679609 感谢作者 FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具.FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析.FindBugs既提供可视化 UI 界面,同时也可以作为Eclipse插件使用.文本将主要使用将 FindBugs作为 Eclipse插件.在安装成功后会在 eclipse中增加 Find…
一.前言 通过前面三篇文章已经初步实现了将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 --…
静态代码安全检查工具是一种能够帮助程序员自动检测出源程序中是否存在安全缺陷的软件.它通过逐行分析程序的源代码,发现软件中潜在的安全漏洞.本文针对 C/C++语言程序设计中容易存在的多种安全问题,分别分析了问题的根源,给出了具体可行的分析及检测方法.最后通过对静态代码安全检查工具优缺点的比较,给出了一些提高安全检查效果的建议. 软件漏洞的出现,除了程序员缺少编写高质量安全程序的意识外,编程语言本身的不安全性也使得程序员更容易在无意中编写出存在安全问题的代码.在众多编程语言中,C/C++语言是目前公…
在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443.http的连接很简单,是无状态的: HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,要比http协议安全   SSL主要作用:对传输信息进行加密(客户端与服务器端的链路加密).认证用户身份…
Android SDK包含了各种各样的定制工具,简介如下: Android模拟器(Android Emulator )它是在你的计算机上运行的一个虚拟移动设备.你可以使用模拟器来在一个实际的Android运行环境下设计,调试和测试你的应用程序. Android调试桥(Android Debug Bridge (adb) )Adb 工具可以让你在模拟器或设备上安装应用程序的.apk文件,并从命令行访问模拟器或设备.你也可以用它把Android模拟器或设备上的应用程序代码和一个标准的调试器连接在一起…
常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.Java 静态代码分析(static cod…
前言: PMD是一款静态代码分析工具,它能够自动检测各种潜在缺陷以及不安全或未优化的代码. PMD更多地是集中在预先检测缺陷上,它提供了高度可配置的丰富规则集,用户可以方便配置对待特定项目使用那些规则. 安装及使用: 1.在Eclipse中 安装 PMD插件运行方式 ECLIPSE菜单 > HELP > Install New Software > 弹出窗口中在 work with中输入 PMD - http://sourceforge.net/projects/pmd/files/pm…
转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺…
1.说明:Coverity代码扫描工具可以扫描java,C/C++等语言,可以和jenkins联动,不过就是要收钱,jenkins上的插件可以用,免费的,适用于小的java项目 2.这是Coverity的github地址       https://github.com/jenkinsci/coverity-plugin 3.以下是coverity在jenkins上操作       jenkins=詹金斯 安装插件使用插件管理器,重启詹金斯. Coverity配置工具(管理詹金斯>全球工具配置)…
摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团…
简介 Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强.Flake8是对下面三个工具的封装: 1)PyFlakes:静态检查Python代码逻辑错误的工具. 2)Pep8: 静态检查PEP8编码风格的工具. 3)NedBatchelder’s McCabe script:静态分析Python代码复杂度的工具. 不光对以上三个工具的封装,Flake8还提供了扩展的开发接口…
前言: PMD是一款静态代码分析工具.它能够自己主动检測各种潜在缺陷以及不安全或未优化的代码. PMD很多其它地是集中在预先检測缺陷上.它提供了高度可配置的丰富规则集,用户能够方便配置对待特定项目使用那些规则. 安装及使用: 1.在Eclipse中 安装 PMD插件执行方式 ECLIPSE菜单 > HELP > Install New Software > 弹出窗体中在 work with中输入 PMD - http://sourceforge.net/projects/pmd/file…
前言 PC-lint是一款小而强大的C/C++静态代码检查工具,它可以检查未初始化变量,数组越界,空指针等编译器很难发现的潜在错误.在很多专业的软件公司如Microsoft,PC-Lint检查无错误无警告是代码首先要过的第一关. 安装配置 有关安装步骤,请参考附录中的文章“静态代码检查工具PC-Lint“的“4 PC-Lint软件使用方法”,不过该文章使用的是VC++ 6.0的开发环境,最新的PC-lint 9.0支持VS2008,可以在安装过程中自己选择. 关于PC-lint和VS2008的集…
基于Source Insight_Scan的C/C++静态代码检查工具安装说明   本文链接:https://blog.csdn.net/M19930517/article/details/79977174 //文中软件地址 Source Insight :链接:https://pan.baidu.com/s/1EHENTG4Ll3TzLyqMQZuhbQ 密码:q29m //Source Insight_Scan地址:链接:https://pan.baidu.com/s/1vtsCouAu7R…
给国产静态代码检测工具Pinpoint打Call! 简介 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了4种现有的主流Java静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助Java软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在Java软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.Java静态代码分析(static code analy…
[原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等. 二 Java静态代码检查工具介绍 1 Checkstyle Checkstyle 是 SourceForge 的开源项目,通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开…
长假归来,最近一直没更新,节前本来就想写这篇了,一直到今天才有时间. 关于静态代码分析在维基百科上可以查到很详细的介绍:https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis 这个词条中不仅有C++,还有其他主流语言的静态代码分析工具的介绍,很好很强大 O(∩_∩)O~ 比较知名的有Cppcheck.Coverity等,当然其实VS本身也是支持开启静态代码分析的,也能发现不少问题,建议开启. 今天要介绍的是另一款-…
  CppCheck是一个C/C++代码缺陷静态检查工具.不同于C/C++编译器及其它分析工具,CppCheck只检查编译器检查不出来的bug,不检查语法错误.所谓静态代码检查就是使用一个工具检查我们写的代码是否安全和健壮,是否有隐藏的问题. 比如无意间写了这样的代码: int n = 10; char* buffer = new char[n]; buffer[n] = 0; 这完全是符合语法规范的,但是静态代码检查工具会提示此处会溢出.也就是说,它是一个更加严格的编译器.使用比较广泛的C/C…