首页 > 其他分享 >伞源科技Pinpoint和sonarQube对比

伞源科技Pinpoint和sonarQube对比

时间:2023-03-08 11:33:01浏览次数:32  
标签:文件 java Pinpoint 伞源 sonarQube 问题 SonarQube sonar


伞源科技Pinpoint和sonarQube对比

测试背景

使用工具:
  • 源伞科技Pinpoint
  • Sonarqube
测试项目:
  • 本地测试框架项目两个文件
    文件1:AsyncHttpClientUtil.java
    文件2:FileUtil.java

测试结果汇总

数据统计:
  • 源伞科技Pinpoint结果:
  • 文件1:
  • 严重:14
  • 中等:2
  • 文件2:
  • 严重:8
  • 中等:1
  • SonarQube结果:
  • 文件1:
  • 严重:13
  • 文件2:
  • 严重:18
  • 一般:4
  • 建议:1

测试细节:

  • 1、数量:
  • 从数量看,Pinpoint较SonarQube结果数量少。
  • 2、安全隐患:
  • SonarQube报告包括
  • 5处空指针异常,
  • 4处无引用方法,
  • 两处““InterruptedException” should not be ignored”问题,
  • 1处注释问题,1处“Utility classes should not have public constructors”问题。
  • 13处用日志记录代替标准输出问题
  • 1处导致资源泄漏问题
  • 1处字符串文本不应重复
  • 1处 Try-with-resources should be used
  • 1处 工具类不应该有公共构造函数,工具类不宜实例化,且应有一个私有构造方法。
  • 2处 可合并的“if”语句应该合并。
  • Pinpoint报告
  • 9处空指针,
  • 5处返回null给函数调用者,
  • 2处函数 instanceof<java.lang.Exception> 的返回值没有被检查
  • 1处创建了一个java.io.BufferedReader类的对象
  • 2处if else分支问题
  • 1处导致资源泄漏问题
  • 2处 在util.FileUtil.readerFile(String)中找到对默认编码的依赖:new java.io.InputStreamReader(InputStream)
  • 1处 util.FileUtil.readerFile(String)在循环中使用+连接字符串

主要结论:

  • 从报告总量上SonarQube比Pinpoint数量多,但是无效问题居多,多出的问题一般是代码规范问题。(本次两款软件均采用默认级别扫描。 )
  • SonarQube报告的4处无引用方法、2处注释问题、13处打印输出问题、2处合并if问题,并不影响程序执行,而Pinpoint每个报告都是需要去查看修改。
  • Pinpoint 规则里可以判断程序中出现的条件判断语句问题,发现该问题2处。而且支持跨函数和跨文件扫描,发现该问题一处。(这两种问题sonar扫描不到)
  • Pinpoint和SonarQube关注点有区别,sonar关注于代码规范,Pinpoint更关注与代码错误,且有效问题较高。
  • sonar开源支持语言比PinPoint多,规则也可以选择。
  • 个人观点:sonar适合开发日常自检,Pinpoint适合验收检测。

标签:文件,java,Pinpoint,伞源,sonarQube,问题,SonarQube,sonar
From: https://blog.51cto.com/u_13579716/6107969

相关文章

  • ubuntu20.04部署sonarqube 9.9
    要求前提条件sysctl.conf#echo"vm.max_map_count=524288">>/etc/sysctl.conf#echo"fs.file-max=131072">>/etc/sysctl.conf#sysctl-plimits.conf#echo"......
  • docker安装sonarqube,sonarQube静态代码扫描
    一、sonarqube简介SonarQube是管理代码质量的一个开放平台,可以快速定位代码中潜在的或者明显的错误。支持Java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等二十几......
  • k8s之安装sonarqube
    1.k8s安装sonarqube记录,三个配置文件搞上来首先是创建postgre的PVPVC配置文件,kubectlapply-f pvc-xxxxxx.yaml 这里的目的是让sonarqube的数据库postgresql的数......
  • Jenkins集成SonarQube实现代码质量检查
    ​一、SonarQube简介   SonarQube是一个开源平台,用于管理源代码的质量。Sonar不只是一个质量数据报告工具,更是代码质量管理平台。支持Java、Python、C、C++、Go等多......
  • Linux下SonarQube+Runner+Scanner离线安装
     Linux下SonarQube+Runner+Scanner离线安装(一)、创建sonar数据库#创建sonar数据库mysql>createuser'sonar'@'%'identifiedby'yzt12345';QueryOK,0rowsaf......
  • sonarqube启动报错解决
    启动sonar服务#执行启动脚本/usr/local/sonarqube/bin/linux-x86-64/sonar.shstart#查看日志tail-100f/usr/local/sonarqube/logs/sonar.log日志报错内容如下:初步判断和......
  • DevOps实战系列【第九章】:详解Sonarqube搭建及集成Jenkins环境
    个人亲自录制全套DevOps系列实战教程:​​手把手教你玩转DevOps全栈技术​​质量安全审计:SonarqubeSonarqube(声呐)大家应该不陌生,通过扫描代码分析代码质量与代码安全,方便......
  • SonarQube部署
    目录一、部署SonarQube1、准备docker-compose文件2、启动docker-compose3、页面配置二、安装中文插件SnoarQube是一款代码质量、安全扫描、分析的平台,从多维度分析代码:代......
  • pinpoint 安装指南
    tangcheng@ChenTangMINGW64/c/Developer$gitclonehttps://github.com/naver/pinpoint.gitCloninginto'pinpoint'...remote:Enumeratingobjects:51,done.remote:......
  • SonarQube的安装、配置与使用
    参考:SonarQube的安装、配置与使用简介sonarqube 是一个代码质量管理平台,可通过安装不同的插件集成测试工具、代码质量分析工具、持续集成等多种功能。sonarqube目前最新......