使用 OClint 进行静态代码分析】的更多相关文章

OCLint 就是一个建立在 Clang 上的工具,能够发现代码中潜在的问题. 最近需要一个静态分析代码工具,帮助我们发布运行应用前找到代码潜在的问题. 其实对于iOS开发,我们的日常开发上已经用到了这样一个静态分析的工具,那就是 Clang, Clang 是支持C.C++.Objective-C 和 Swift 的一个前端编译工具,他将 OC 或者 Swift 的代码输出抽象语法树(Abstract Syntax Tree),然后编译成 LLVM 的 bitcode,最后由 LLVM 编译成…
在正式进入测试之前,进行一定的静态代码分析及code review对代码质量及系统提高是有帮助的,以上为数据证明 Pmd 它是一个基于静态规则集的Java源码分析器,它可以识别出潜在的如下问题:– 可能的bug--空的try/catch/finally/switch块.– 无用代码(Dead code):无用的本地变量,方法参数和私有方法.– 空的if/while语句.– 过度复杂的表达式--不必要的if语句,本来可以用while循环但是却用了for循环.– 可优化的代码:浪费性能的String…
常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.Java 静态代码分析(static cod…
1历史 Prefast是微软研究院提出的静态代码分析工具.主要目的是通过分析代码的数据和控制信息来检测程序中的缺陷.需要强调的是,Prefast检测的缺项不仅仅是安全缺陷,但是安全缺陷类型是其检测的最为重要的部分.Prefast推出后在微软内部得到了广泛的使用,并经历了若干格版本的升级.现在,微软将这个内部工具商业化,以提供给外部的开发人员使用. 2如何获得Prefast 目前有两个办法可以获得Prefast工具.Prefast包括在Visual Studio 2005 /2008的团队版本(t…
长假归来,最近一直没更新,节前本来就想写这篇了,一直到今天才有时间. 关于静态代码分析在维基百科上可以查到很详细的介绍:https://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis 这个词条中不仅有C++,还有其他主流语言的静态代码分析工具的介绍,很好很强大 O(∩_∩)O~ 比较知名的有Cppcheck.Coverity等,当然其实VS本身也是支持开启静态代码分析的,也能发现不少问题,建议开启. 今天要介绍的是另一款-…
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧.…
转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺…
[课程背景] C/C++语言的语法非常灵活性,尤其是指针及内存使用,这种灵活性使代码效率比较高,但同时也使得代码编写具有较大的随意性,另外C/C++编译器不进行强制类型检查,也不对数据边界和有效性进行检查,这让开发者在开发过程中容易引入一些致命或严重问题,增加了代码中存在隐患的可能性,最终导致软件产品的质量问题. 如果能够在代码提交测试之前发现这些隐患,减少软件项目的除错成本,提前发现并消除这些致命或严重的bug,可是传统的C/C++编译器没有包含对这些错误的检查,这个任务只能由专用的静态代码分…
本文将介绍如何使用SonarCloud进行.NET Core项目的静态代码分析.SonarCloud是SonarQube提供的基于云的版本,特别针对于开源项目是免费的. 首先,在sonarcloud.io创建一个账号,你可以使用Github/BitBucket/Microsoft Live账户进行注册,成功后将看到控制面板如下: 接下来你需要创建一个组织. 有了组织,就可以创建一个分析项目了.点击“Analyse New Project”按钮,根据向导填写必要的信息,生成一个用于运行代码分析的授…
摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团…
infer是一个静态代码分析工具,探测bugs. 主要支持Java.C/C++ 安装:brew install infer 在线展示:https://codeboard.io/projects/11587?view=2.1-21.0-22.0 如图,可以新建文件,把代码贴进去,执行分析,就可以看到结果 官网:https://fbinfer.com/…
在URL前加https://前缀表明是用SSL加密的. 你的电脑与服务器之间收发的信息传输将更加安全. Web服务器启用SSL需要获得一个服务器证书并将该证书与要使用SSL的服务器绑定. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443.http的连接很简单,是无状态的: HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,要比http协议安全   SSL主要作用:对传输信息进行加密(客户端与服务器端的链路加密).认证用户身份…
FindBugs 是一个静态分析工具,很多程序猿都在使用,再次详细列出findbugs的使用教程,希望对大家有帮助. 1 安装 FindBugs通过检查类文件或 JAR文件,将字节码与一组缺陷模式进行对比从而发现代码缺陷,完成静态代码分析.Findbugs有两种工具形式,一种是界面形式另一个是插件形式,能够在liunx上部署,为了使用方便这里使用插件的形式,具体安装步骤如下: Eclipse -> help -> Eclipse Markerplace.. 搜索findbugs如下图所示,点击…
目录 能够导出UML图的Eclipse插件 打开文件资源管理器插件 Java静态代码分析工具PMD 如何在eclipse上安装插件 JProfiler性能分析工具 从更新站点安装EclEmma 能够导出UML图的Eclipse插件 1."01能够导出UML图的Eclipse插件"中的四个jar包把,直接放到Eclipse目录下的plugins目录中 2.在project名称右键选择New-Other,弹出新建对话框看到AmaterasUML选项,在其中选择Class Diagram,并…
简评: 作者在文中提到的三个静态代码分析工具不是互相替代的关系,各有各的侧重点,如果有需要完全可以同时使用. 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等. 对于 Android 来说用得最多的三个静态代码分析工具当属: Lint PMD Findbugs Lint Lint 是 Google 提供给 Android 开发者的静态代码分…
给国产静态代码检测工具Pinpoint打Call! 简介 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了4种现有的主流Java静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助Java软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在Java软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.Java静态代码分析(static code analy…
具体内容参看文件<CppCheck和PreFast对Cplusplus代码静态分析测试.zip> C++测试源代码main.cpp #define NULL 0 #include <stdio.h> #include <string.h> // 没有初始化 void defect1() { int a; int b; b = a; } // 空指针取值 void defect2( int b, int c) { int * p = NULL; int a = 1 ; i…
Cppcheck是一个C/C++代码分析工具,只检测那些编译器通常无法检测到的bug类型.   官方上建议让编译器提供尽量多的警告提示:1.使用Visual C++的话,应使用警告等级4 2.使用GCC的话,参看Warning options - using GCC   官方地址:http://cppcheck.sourceforge.net/ 当前版本:1.54 for windows   安装界面如下: 安装完后,双击cppcheckgui.exe启动其GUI程序: 工具栏第一个按钮 可以添…
配置成功后的代码分析页面: 可以看到对复杂度.语法使用.重复度等等都做了分析,具体到了每一个方法和每一句代码. 四种使用方式: sonarqube + sonar-runner sonarqube + maven sonarqube + eclipse sonarqube + IDE IntelliJ   使用方式1 :sonarqube + sonar-runner 1.环境 jdk 1.7 sonarqube 4.5.7 (最新的sonarqube都要求jdk1.8,找了一个匹配1.7的较新…
配置成功后的代码分析页面: 可以看到对复杂度.语法使用.重复度等等都做了分析,具体到了每一个方法和每一句代码. 四种使用方式: sonarqube + sonar-runner sonarqube + maven sonarqube + eclipse sonarqube + IDE IntelliJ   使用方式1 :sonarqube + sonar-runner 1.环境 jdk 1.7 sonarqube 4.5.7 (最新的sonarqube都要求jdk1.8,找了一个匹配1.7的较新…
1 什么是FindBugs FindBugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题.有了静态分析工具,就可以在不实际运行程序的情况对软件进行分析.不是通过分析类文件的形式或结构来确定程序的意图,而是通常使用 Visitor 模式来鉴别代码是否符合一些固定的规范. 2 如何安装FindBugs? 作为Eclipse的一个插件,可以将Findbugs集成到Eclipse中使用. 第一种是在线安装:在Eclipse的插件安装地址中输入http:…
OCLint 是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Objective-c的静态分析. Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具. 1.检查你的电脑有没有安装brew 如果没有安装,会显示什么呢 -bash:brew:command not found 该怎么办呢?   打开终端  执行 ruby -e "$(curl -fsSL https://raw.gi…
Clang静态分析和Instruments来剖析代码有一些不同,Clang更致力于在编译的过程中通过自身的一套判断机制来找出代码中潜在的隐患.   在XCode 3.2之后的版本里,Clang已经被集成进来,Static Analysis 是基于 Clang 的非常好的静态代码分析工具.可以从xcode直接运行Static Analysis 分析器.   Static Analysis 优点:   1.使用操作容易.   2.能够在编码阶段,开发自行进行代码检查.早期发现代码隐患.   3.直接…
一.静态代码分析         静态代码分析是一种通过检查代码而不是执行程序来发现源代码中错误的手段.通常可以帮助我们发现常见的编码错误,例如: 语法错误 违反制定的标准编码 未定义的变量 安全性问题 静态代码分析可以通过评估编写的代码来提高代码质量:可以稳定的运行且可以轻松自动化:增加了在源代码中发现漏洞的可能性,从而提高应用安全:由于是针对源码扫描可以在离线的开发环境中完成.但是静态代码分析并不能完全保证编写的代码没有Bug,它也有一些缺点,例如: 误报问题,发现了一个不是错误的错误. 静…
jenkins 环境的搭建,在这里不在赘述,下面我们写一写,如何接入oclint. OCLint是一个强大的静态代码分析工具,可以用来提高代码质量,查找潜在的bug,主要针对c,c++和Objective-c的静态分析.功能非常强大.项目地址:http://oclint.org/. 1.oclint 与 xcpretty的安装 推荐是用Homebrew 来安装,快速且节省精力,也可以选择源码安装或者release包来安装,不过需要配置环境变量的内容.使用Homebrew 安装时,需要先设置bre…
此文已由作者杨晓授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 在Mac OS系统上,采用Xcodebuild Analyze命令和OClint工具,对iOS项目进行静态代码检查,输出可视化结果.然后将项目持续集成至CI平台,并使用PMD插件进行错误统计的展示.对此,本文由以下4个要点来阐述. 背景 Xcodebuild命令行指令 oclint工具获取可视化结果 持续集成 1.背景 AR家装是感知与智能中心的一个新项目,通过AR和VR技术,在iOS平台上可以很好地展现样…
1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能的bugs和可优化提升的地方. 1.2 lint工作流程 针对我们的项目,通过lint.xml配置lint分析的选项,执行检查后,会针对要分析的issue生成报告. 2 lint使用 有关lint的使用,有以下地方需要理解: 2.1 分析的范围 要对Android项目进行静态分析,首先就是指定要分析…
[原创]Java静态代码检查工具介绍 一  什么是静态代码检查? 静态代码分析是指无需运行被测代码,仅通过分析或检查源程序的语法.结构.过程.接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配,有歧义的嵌套语句,错误的递归,非法计算,可能出现的空指针引用等等. 二 Java静态代码检查工具介绍 1 Checkstyle Checkstyle 是 SourceForge 的开源项目,通过检查对代码编码格式,命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,从而有效约束开…
前言: PMD是一款静态代码分析工具,它能够自动检测各种潜在缺陷以及不安全或未优化的代码. PMD更多地是集中在预先检测缺陷上,它提供了高度可配置的丰富规则集,用户可以方便配置对待特定项目使用那些规则. 安装及使用: 1.在Eclipse中 安装 PMD插件运行方式 ECLIPSE菜单 > HELP > Install New Software > 弹出窗口中在 work with中输入 PMD - http://sourceforge.net/projects/pmd/files/pm…
一个项目从搭建开始,开发的初期往往思路比较清晰,代码也比较清晰.随着时间的推移,业务越来越复杂.代码也就面临着耦合,冗余,甚至杂乱,到最后谁都不敢碰. 作为一个互联网电子商务网站的业务支撑系统,业务复杂不言而喻.从09年开始一直沿用到现在,中间代码经过了多少人的手,留下了多少的坑,已经记不清楚了,谁也说不清了. 代码的维护成本越来越高.代码已经急需做调整和改善.最近项目组专门设立了一个小组,利用业余时间做代码分析的工作,目标对核心代码进行分析并进行设计重构. 代码分析如果用人工来做,需要两点:1…