代码静态分析工具--splint的学习与使用[转] 引言 最近在项目中使用了静态程序分析工具PC-Lint,体会到它在项目实施中带给开发人员的方便.PC-Lint是一款针对C/C++语言.windows平台的静态分析工具,FlexeLint是针对其他平台的PC-Lint版本.由于PC-Lint/FlexeLint是商业的程序分析工具,不便于大家对其进行学习和使用,因而下面我将介绍一个针对C语言的开源程序静态分析工具--splint. 静态程序分析 先来说说什么是"静态程序分析(Static pr…
引言 最近在项目中使用了静态程序分析工具PC-Lint,体会到它在项目实施中带给开发人员的方便.PC-Lint是一款针对C/C++语言.windows平台的静态分析工具,FlexeLint是针对其他平台的PC-Lint版本.由于PC-Lint/FlexeLint是商业的程序分析工具,不便于大家对其进行学习和使用,因而下面我将介绍一个针对C语言的开源程序静态分析工具——splint. 静态程序分析 先来说说什么是“静态程序分析(Static program analysis)”,静态程序分析是指使…
1.引言 最近在项目中使用了静态程序分析工具PC-Lint, 体会到它在项目实施中带给开发人员的方便.PC-Lint是一款针对C/C++语言.windows平台的静态分析工具,FlexeLint是针对其他平 台的PC-Lint版本.由于PC-Lint/FlexeLint是商业的程序分析工具,不便于大家对其进行学习和使用,因而下面我将介绍一个针对C语言 的开源程序静态分析工具——splint. 2.静态程序分析 先来说说什么是“静态程序分析(Static program analysis)”,静态…
转自:http://blog.csdn.net/chen19870707/article/details/42393217 权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] cppcheck下载 cppcheck安装 cppcheck 使用 cppcheck分析结果 cppcheck可以分析错误的类型   C++ 代码静态分析工具cppcheck Author:Echo Chen(陈斌) Email:chenb19870707@gmail.com Blog:Blog.cs…
C/C++代码静态分析工具调研 摘自:https://www.jianshu.com/p/92886d979401 简述 静态分析(static analysis)是指在不执行代码的情况下对其进行分析评估的过程,是软件质量和软件安全保障的重要一环.它通过词法分析.语义分析.控制流分析.数据流分析等技术对代码逐行解析暴露问题,从而协助我们将许多在运行时才会暴露的棘手麻烦扼杀于摇篮之中. 典型问题示例 代码静态分析能够识别诸多类型的漏洞或缺陷,轻至警告级的「变量未使用」,重至错误级的各类bug,这里…
代码静态分析工具PC-LINT安装配置--step by step                             作者:ehui928                             2006-5-20 PC-Lint是C/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器.它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误. C语言的灵活性带来了代码效率的提升,但相应带来了代码编写的随意性,另外C编译器不进行强制类型检查,也带来…
最近发现自己写的PHP代码运行结果总跟自己预想的不一样,排查时发现大多是语法错误,在运行之前错误已经种下.可能是自己粗心大意,或者说php -l检测太简单,不过的确是有一些语法错误埋藏得太深(毕竟PHP是动态语言),那么有没有办法,在代码代码正式运行之前,把语法错误全找出来呢? 这里介绍一款PHP代码静态分析工具:PHPStan,不需要运行代码,也可以对代码进行严格的语法检测,尽量将代码运行错误率降到最低. PHPStan 安装 目前,PHPStanV0.10.2要求系统环境的PHP版本不低于7…
最近学习Mybatis的官方文档,看到了[项目文档]一节有很多内容没有见过,做个笔记,理解一下. PMD 扫描Java源代码,查找潜在的问题,如: 可能的bugs,如空的try/catch/finally/switch声明 死亡的代码,没有使用的本地变量,参数和私有方法 不合标准的代码,如String/StringBuffer用法 过于复杂的表达式,如不必要的if表达式 重复的代码,拷贝.粘贴的代码 FindBugs 它用来查找Java代码中存在的bug.它使用静态分析方法标识出Java程序中上…
如今,使用代码分析工具来代替人工进行代码审查,已经是大势所趋了.用于Java代码检测的工具中,不乏许许多多的佼佼者,其中PMD就是其中一款.PMD既可以独立运行,也可以以命令行的形式运行,还可以作为插件在IDE中运行,本文将基于在Android Studio中的使用来介绍PMD的基本使用. 一.PMD简介 对于PMD名称含义,有个有趣的现象,PMD不存在一个准确的名称,在官网上你可以发现很有有趣的名称 ,比如:Pretty Much Done,Project Meets Deadline等.PM…
通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便于管理,而且可以不借助服务器(不联网)在本地仓库来管理它,svn是集中式的,而且必须联网通过服务器来完成代码的管理,git只会在根目录下放.git文件,svn会在每个目录下放.svn文件(当你添加.svn文件到svn时会报错). 1> SourceTree    下载地址:http://www.so…
http://www.cnblogs.com/bangerlee/archive/2011/09/18/2178172.html 引言 我们提倡编写功能单一.结构清晰.接口简单的函数,因为过于复杂的函数会给我们带来很多问题:加深其他开发人员理解代码的难度:不方便测试人员对其编写测试用例:容易隐藏错误:出现问题难以定位……怎样的函数算是复杂的函数?哪些代码散发着“臭味”?除了依靠经验丰富的程序员的敏锐嗅觉,我们还可以通过工具,对我们的函数和代码进行度量. 不像一位严格苛刻的代码检视人员,代码度量工…
一.PCLint REFER: 代码静态检查工具PC-Lint运用实践 二.Splint 1.在PC-Linux上安装 ①make error undefined reference toyywrap'` 修改文件cscanner.c,在其中添加下面的代码: int yywrap() { return 1; } REFER: Splint介绍 REFER: splint的安装与使用 参考: 1.Splint主页…
官网 http://www.splint.org/ splint能干什么? splint是一个静态检查C语言代码安全弱点和编写错误的开源程序.(不支持C++) splint会进行多种常规检查,包括 空指针 内存泄漏 内存越界 未使用的变量, 类型不一致, 使用未定义变量, 无法执行的代码,忽略返回值, 执行路径未返回, 无限循环等错误. ..... split的特点 功能强大,使用复杂,上手慢. 很久没有更新了. 安装 wget http://www.splint.org/downloads/s…
重点摘要: 创建了一个文件后首先先通过git add . 添加到暂缓区,然后通过git commit -m "提交的名字" 提交到本地仓库,最后才可能push到远程仓库. 1. 个人开发流程 工作区  -> 暂缓区  -> 本地仓库 .   2. 多人开发流程  工作区  -> 暂缓区  -> 本地仓库 -> 远程仓库. 一.创建仓库的基本命令 1>  创建代码仓库 $ git init 2>  配置用户名和邮箱 $ git config us…
需求:有些基础类型的遍历,值希望它被赋予指定的几个值,赋予其他值能够别编译器(IDEA/eclipse)提醒 Android studu结合自己的插件,引入 <!-- https://mvnrepository.com/artifact/com.android.support/support-annotations --> <dependency> <groupId>com.android.support</groupId> <artifactId&g…
一.安装 添加镜像,加速下载 ./composer.phar  config -g repo.packagist composer https://packagist.phpcomposer.com CodeSniffer composer.phar global require "squizlabs/php_codesniffer=*" Mess Detector composer.phar global require "phpmd/phpmd=*" 二.Php…
1.代码管理工具git的学习  http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 2.github的使用帮助   https://help.github.com/articles/using-keyboard-shortcuts/ 3.Git 常用命令总结 http://www.jianshu.com/p/ba1534826737 4.Git的使用以及GitHub的配置 http://www.jianshu.com/p/6ae…
之前用Windows系统,一直用source insight查看代码非常方便,但是年前换到mac下面,虽说很多东西都方便了,但是却没有了静态代码分析工具,很幸运,前段时间找到一款比source insight软件还强大的代码静态分析工具,堪称神器–Understand.这款软件具有强大的代码静态分析功能,并且可以绘制各种流程图,不幸的是没有发现Windows版本,只看到mac版和Linux版本,因此用Windows系统的朋友抱歉了. 因为工作太忙,还没有时间详细的研究一下使用方法,只是简单的了解…
Understand:高效代码静态分析神器详解(一) Understand   之前用Windows系统,一直用source insight查看代码非常方便,但是年前换到mac下面,虽说很多东西都方便了,但是却没有了静态代码分析工具,很幸运,前段时间找到一款比source insight软件还强大的代码静态分析工具,堪称神器–Understand.这款软件具有强大的代码静态分析功能,并且可以绘制各种流程图.另外,Understand拥有Windows版本.mac版本和Linux版本,所以在这三种…
Understand:高效代码静态分析神器详解(一) | 墨香博客 http://www.codemx.cn/2016/04/30/Understand01/ ===== 之前用Windows系统,一直用source insight查看代码非常方便,但是年前换到mac下面,虽说很多东西都方便了,但是却没有了静态代码分析工具,很幸运,前段时间找到一款比source insight软件还强大的代码静态分析工具,堪称神器–Understand.这款软件具有强大的代码静态分析功能,并且可以绘制各种流程图…
转自:http://www.codemx.cn/2016/04/30/Understand01/ 之前用Windows系统,一直用source insight查看代码非常方便,但是年前换到mac下面,虽说很多东西都方便了,但是却没有了静态代码分析工具,很幸运,前段时间找到一款比source insight软件还强大的代码静态分析工具,堪称神器–Understand.这款软件具有强大的代码静态分析功能,并且可以绘制各种流程图,不幸的是没有发现Windows版本,只看到mac版和Linux版本,因此…
之前用Windows系统,一直用source insight查看代码非常方便,但是年前换到mac下面,虽说很多东西都方便了,但是却没有了静态代码分析工具,很幸运,前段时间找到一款比source insight软件还强大的代码静态分析工具,堪称神器–Understand.这款软件具有强大的代码静态分析功能,并且可以绘制各种流程图,不幸的是没有发现Windows版本,只看到mac版和Linux版本,因此用Windows系统的朋友抱歉了. 因为工作太忙,还没有时间详细的研究一下使用方法,只是简单的了解…
常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.Java 静态代码分析(static cod…
1.static code analysis插件说明 Jenkins提供了插件"static code analysis",该插件搜集不同的分析结果,并集合显示出来. 实际上,我们可以认为static code analysi和FindBugs等插件组成了一个静态分析代码的套件.仅仅安装static code analysis是不够的,还需要安装其他插件(如FindBugs),才能正确工作.   2.static code analysis支持哪些插件? 官方文档:https://wi…
转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺…
摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助 Java 软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在 Java 软件开发过程中,开发团…
利用idea.phpstorm系列的ide的code inspect功能可以开发出适用于各种编程语言的代码静态分析工具.这个功能大家可以自己实现扩展规则,规则也使用了visitor模式,规则里对关心的语法树节点处理即可. 一个inspect的插件代码参考 git@github.com:ferrius/php-attention-plugin.git phpstorm插件开发,使用idea开发,但需要安全phpstorm,创建项目时new一个sdk选择phpstrorm的安装目录,另外还需要依赖p…
给国产静态代码检测工具Pinpoint打Call! 简介 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了4种现有的主流Java静态代码分析工具 (Checkstyle,FindBugs,PMD,Jtest),最后从功能.特性等方面对它们进行分析和比较,希望能够帮助Java软件开发人员了解静态代码分析工具,并选择合适的工具应用到软件开发中. 引言 在Java软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.Java静态代码分析(static code analy…
1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能的bugs和可优化提升的地方. 1.2 lint工作流程 针对我们的项目,通过lint.xml配置lint分析的选项,执行检查后,会针对要分析的issue生成报告. 2 lint使用 有关lint的使用,有以下地方需要理解: 2.1 分析的范围 要对Android项目进行静态分析,首先就是指定要分析…
前言: PMD是一款静态代码分析工具.它能够自己主动检測各种潜在缺陷以及不安全或未优化的代码. PMD很多其它地是集中在预先检測缺陷上.它提供了高度可配置的丰富规则集,用户能够方便配置对待特定项目使用那些规则. 安装及使用: 1.在Eclipse中 安装 PMD插件执行方式 ECLIPSE菜单 > HELP > Install New Software > 弹出窗体中在 work with中输入 PMD - http://sourceforge.net/projects/pmd/file…