Sourcebrella Pinpoint 2.1正式发布

Sourcebrella Pinpoint 2.1从分析能力,交互体验,功能完整性,以及系统适应性为您带来全新体验!

新增功能:

(1)增加了个人访问令牌(Access Token)功能,方便调用平台服务的API

(2)平台增加了Pinpoint集成代理工具脚本,使用脚本可以实现执行一条shell命令自动完成下载和更新Pinpoint安装包并对项目进行分析,方便了与原有CI流程进行集成

(3)完整支持C++代码规范国标GB/T 34943-2017

(4)分析器性能大幅提升了30%

(5)支持JAVA9,10,11 的项目扫描

(6)支持安卓DEX38,39的项目扫描

(7)硬编码检查器支持206种源代码

问题修复:

(1)修复了项目一栏切换项目后,缺陷列表界面中缺陷过滤器中的分类设置未重置的问题

(2)改进了C/C++语言中内存泄漏检查器对于库函数的处理模式,消除了由于内存被库函数管理而引起的内存泄漏误报

(3)修复了扫描报告的提示中部分变量名的命名错误,例如"i"存在命名为"i.0"的情况

(4)消除了C/C++语言中使用lambda表达式而造成的未初始化变量的误报

(5)消除了数组循环中的空指针引用以及文件描述符多次释放的误报

(6)修复了报告中函数返回路径可能发生错乱的问题

(7)消除了安卓审计模式中部分空指针引用的误报

(8)消除了JAVA8中try() {} catch (Exception){} 结构中存在的空指针引用误报

(9)修复了缺陷列表页面缺陷状态显示异常的问题

(10)修复了缺陷统计界面缺陷数数值不正确的问题

体验优化:

(1)大幅优化了上传报告的内存占用,平均降幅为59.52%

(2)优化了项目总览统计和项目趋势统计的功能,通过提升性能解决了超大规模项目无法计算统计结果的问题

(3)分析配置界面删除了特殊检查器一栏,选项都迁移到了检查标准中,简化了整个分析配置页面

(4)分析标准增加了”Pinpoint推荐标准“,该分析规则集合包含了Pinpoint推荐的常用分析规则

(5)分析模板界面会根据项目语言,只显示语言匹配的规则模板

(6)统一了除零错误缺陷的分类(之前分别在内存安全,数值计算,和输入验证,现在统一放在数值计算类)

(7)Sonarqube插件目前已支持自动根据版本更新Pinpoint安装包

具体新增功能如下:

1. 增加了个人访问令牌(Access Token)功能,方便调用平台服务的API

  • 新增了Access Token的功能,通过生成的令牌可以很方便的调用平台的各种功能接口,具体生成方式如下图:
个人令牌功能截图.png

2. 平台增加了Pinpoint集成代理工具脚本,使用脚本可以实现执行一条shell命令自动完成下载和更新Pinpoint安装包并对项目进行分析,方便了与原有CI流程进行集成

  • 新增了CI_AGENT集成代理工具,可以通过平台上的ci_agent.sh脚本,一条命令就可以在未部署pinpoint的机器上分析项目,大幅简化了原有CI流程的配置,也简化了维护分析服务器的流程,具体使用方式如下:
CI_AGENT功能截图.png

通过curl命令从部署好Pinpoint的服务器上下载ci_agent.sh脚本,然后执行脚本,从平台上导出项目配置的json文件

导出json.png

作为配置文件参数,就能够完成对项目命令行分析的过程

curl "http://pinpoint.platform.com:40077/ci_agent.sh" | bash -s run test.json

此命令的这一部分curl "http://pinpoint.platform.com:40077/ci_agent.sh" | bash -s run效果相当于在部署了Pinpoint的机器上执行pcli run,后面的参数和原来命令行运行pcli效果一样

AGENT.png

3. 分析器性能大幅提升

分析器的性能提升了30%,具体包括以下两点:

1.并行化指针分析

2.优化跨函数分析策略

4. 硬编码检查器支持206种源代码