一 点睛

代码质量静态检查工具可以自动快速发现劣质代码,潜在Bug,给出代码优化建议。因此代码静态检查工具在实际项目研发中有举足轻重的作用,利用好各种优秀检查工具是做好品质管理的重要环节。

二 静态分析和动态分析

代码分析技术分为:

第一、静态分析:对程序代码的检查;

第二、动态分析:程序运行时检查;

静态分析技术是在不执行程序的情况下对其进行分析的技术,简称为静态分析。静态分析可以被视为自动化代码审查过程,是检查瑕疵的最古老和最安全的方法。

动态分析着重于内存、性能和资源的检查。

三 静态分析原理

静态分析技术原理:

和编译器的技术原理有很多相似之处,主要也是使用词法分析,语法分析,语意分析等分析技术对代码进行解析。但和编译器最主要区别是各种静态分析工具可以自定义各种各样的复杂规则。

静态分析特点

  • 不实际执行程序;

  • 执行速度快、效率高;

  • 全代码扫描;

常用静态分析技术:

  • 缺陷模式匹配分析

  • 类型推断分析

  • 模型检查

  • 数据流分析

四 静态分析代理的好处

  • 帮助程序员快速定位代码隐藏错误和缺陷。30% 至70% 的代码逻辑设计和编码缺陷是可以通过静态代码分析来发现和修复的。

  • 提高软件的可靠性。

  • 节省软件开发和测试成本。

Bug发现时机与成本比例

五 静态检查的不足

不足之处

  • 会出现误报。

  • 不能够完全检查出项目质量管理中定义所有质量标准规范,需要结合实际,进行人工检查。

人工代码检查,是对自动化工具检查自身不足的一个补充。

实际研发过程中一般要开品质管理会议,统一产品质量。每个开发人员应该选取一个具有代表其水平的代码文件,交给架构师或品质管理员进行检查(review),以确认其质量水平。

在人工检查之前,一般都要求程序员先用工具进行自我检查,再对工具不能检测出的质量标准项等(检查清单)进行检查。

六 常用静态检查工具

代码质量静态检查工具相关推荐

  1. C/C++代码缺陷静态检查工具cppcheck

    cppcheck介绍和安装 CppCheck是一个C/C++代码缺陷静态检查工具.静态代码检查是检查代码是否安全和健壮,是否有隐藏问题. CppCheck只检查编译器检查不出来的bug,不检查语法错误 ...

  2. Jenkins 在 Tomcat 中的部署及代码静态检查工具集成

    Jenkins 的简单部署 在安装了 Jenkins 运行所需的依赖(主要是 JDK)之后,可以通过如下步骤简单快速地部署 Jenkins: 下载 Jenkins. 打开终端并切换至下载目录. 运行命 ...

  3. cppcheck 自定义规则_cppcheck代码静态检查工具及相关工具插件用法介绍

    摘要:介绍代码缺陷静态检查工具(static code analyzer)cppcheck,以及其vs.qtcreator.git.jenkins插件及用法. Cppcheck着重于检测未定义的行为和 ...

  4. 代码静态检查工具PC-Lint运用实践

    代码静态检查工具PC-Lint运用实践 如何提交zero bug的产品,如何尽早发现bug,是软件开发工程师和测试工程师都需要思考的问题.我认为高质量的代码是关键,具体实施保障办法有:框架约束,代码评 ...

  5. 从静态检查工具谈代码编程规范

    提升自身编程能力是每一个码农的追求,也许我们每日都可以写上几百几千行代码,抑或每日只能修修补补添加几行代码,可是编写代码的行数的增加确实是提升编程能力的体现吗?从我个人的理解来看并不是这样. 从学校到 ...

  6. 一些代码静态检查工具的简介

    1.KLOCWORK: 适用语言:C, C++, JAVA 是否开源:否, 是否需要编译:是 作用:代码静态检查工具.用于高效检测软件缺陷和安全隐患,提供优秀的静态源代码分析解决方案.软件号称是业界领 ...

  7. React Native工程中TSLint静态检查工具的探索之路

    背景 建立的代码规范没人遵守,项目中遍地风格迥异的代码,你会不会抓狂? 通过测试用例的程序还会出现Bug,而原因仅仅是自己犯下的低级错误,你会不会抓狂? 某种代码写法存在问题导致崩溃时,只能全工程检查 ...

  8. 【C/C++】C++代码质量检核工具-cppcheck

    [C/C++]C++代码质量检核工具-cppcheck cppcheck 介绍 Cppcheck是一个用于C/C++代码的静态分析工具.它提供独特的代码分析来检测bug,并侧重于检测未定义的行为和危险 ...

  9. java检测工具_常用Java代码质量检测评估工具

    常用Java代码质量检测评估工具 1. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug--try/ca ...

最新文章

  1. react构建淘票票webapp,及react与vue的简单比较。
  2. 实战:基于OpenCV的人眼检测
  3. 项目管理project甘特图模板_【八大项目管理应用】必用项目管理工具对比推荐...
  4. 产销对接行动倡议书-万祥军:农民丰收节交易会谋定机制
  5. 虚幻4属性系统(反射)翻译
  6. 读取文件卡顿_CPU占用100%,电脑卡顿原来可以这样解决!多任务操作也运行如飞...
  7. NOI 题库 6264
  8. 43.mysqladmin
  9. 腾讯云数据库TDSQL-学习心得与收获
  10. citrix服务器共享文件夹,如何使用citrix XenApp 发布远程共享文件夹,及其故障解决...
  11. 航班可售舱位及机票价格查询api实例
  12. jav学习笔记-String源码分析
  13. 三角形的几何公式大全_初中数学几何公式、定理梳理大全,老师都收藏了
  14. 玩游戏电脑IP被封了,怎么修改电脑IP
  15. 人工智能----八数码问题(启发式搜索)
  16. 软件产品化, 国内IT人之痛
  17. java 仿qq空间_仿QQ空间和微信朋友圈,高解耦高复用高灵活
  18. 跟着铁头干混淆4.1 ollvm控制流平坦化基本概念
  19. Ubuntu boot-repair系统修复引导
  20. git操作:根据修改历史找到该历史的所有分支(根据commit id 查找包含该commit id的所有分支)

热门文章

  1. 后台推广数据下载处理导入数据库
  2. C++蓝桥杯 基础练习之杨辉三角形
  3. 联合办公空间,平衡办公与社交
  4. 带你看u-boot源码里的README-第一部分
  5. 中国象棋程序的设计与实现 二 --源码
  6. parser.add_argument()用法
  7. 数据结构-基于不同策略的英文单词的词频统计和检索系统-菜单
  8. 北大博士生计算机学院任教,清华、北大博士为何到深圳中学任教?让他们自己回答你...
  9. sudo找不到psql,但是可以直接用psql的解决方法
  10. 政府机构机房环境监控系统解决方案!