coverity代码检测⼯具介绍_Coverity代码扫描⼯具
1.说明:Coverity代码扫描⼯具可以扫描java,C/C++等语⾔,可以和jenkins联动,不过就是要收钱,jenkins上的插件可以⽤,免费的,适⽤于⼩的java项⽬
3.以下是coverity在jenkins上操作      jenkins=詹⾦斯
安装插件使⽤插件管理器,重启詹⾦斯。
Coverity配置⼯具(管理詹⾦斯>全球⼯具配置)
添加Coverity静态分析⼯具:
添加⼀个或多个⼯具,为多个平台配置⼯具可以在这⾥管理。 命名为“默认”将优先的⼯具,否则可以配置⼯具路径(或重写)每个节点和/或⼯作配置。
注意:在詹⾦斯詹⾦斯2之前,全球的⼯具配置系统
配置Coverity全局设定(管理詹⾦斯>配置系统)
Coverity连接实例添加连接细节
将证书添加到存储Coverity连接⽤户名和密码(通过管理凭证插件)。 Coverity插件仅⽀持“⽤户名与密码”证书。
点击检查验证您的设置和Coverity⽤户账户权限
配置节点的特定⼯具(如果需要)
如果喜欢,可以覆盖默认的⼯具路径通过设置⼯具位置节点配置设置
使⽤的⼯具也可以配置每个任务配置(或重写)如果这对分布式构建更有效的体系结构
从头开始创建⼯作,通过创建或复制从现有的⼯作。
下构建中,选择添加构建步骤并选择调⽤Coverity捕捉构建,如果必要的。
如果没有提供调⽤Coverity捕捉构建,Coverity插件将透明地调⽤构建捕获所有构建步骤在您的构建。
下Post-build⾏动中,选择添加post-build⾏动并选择Coverity。
选择Coverity连接实例,项⽬和流相关的这份⼯作。
如果你想要的插件调⽤cov-build / cov-analyze / cov-commit-defects给你,请检查执⾏Coverity构建、分析和提交。 您可以添加额外的参数为每个这些⼯具,使⽤和配置中间⽬录(可选)。
如果您的构建已经调⽤Coverity,放任的复选框。
如果你想失败构建当缺陷被发现时,检查对应的复选框。 默认情况下所有缺陷被认为是,但您可以指定过滤器。 每个过滤器都应该匹配⼀个缺陷被包括。
如果你想要这个插件调⽤测试和测试顾问功能,检查执⾏Coverity测试顾问和提交。 您可以添加额外的参数和功能构建通过输⼊您的源代码控制(可选)配置。
构建完成后,链接Coverity缺陷可以在构建页⾯。
在项⽬页⾯,图与历史缺陷计数是可见的(只要超过⼀个构建已经完成)。
访问Coverity插件配置对话框,⾸先选择⼀个项⽬在詹⾦斯服务器,并选择配置。 Coverity-specific设置下是可⽤的构建和Post-build⾏动部分。
Coverity构建操作有以下选项:
选项描述
构建器选择将包裹的构建步骤cov-build。 注意,如果Coverity捕捉构建步骤不是添加,然后构建步骤都是包装。
Coverity post-build⾏动有以下选项:
选项描述
检查配置点击确认Coverity连接的连接到⼀个流是正确配置。
Coverity连接实例Coverity连接实例选择(从全局配置)。
项⽬项⽬包含流和获取缺陷。
流流和获取缺陷。
缺陷的过滤器选择显⽰缺陷分类、⾏动、严重程度、影响,组件,检查器,或⽇期⾸次检测到。
执⾏Coverity构建、分析和提交当这个选项被选中时,使⽤cov-build詹⾦斯将监控建设,运⾏分析,并提交缺陷Coverity连接。 各种参数可以指定优化构建过程。
执⾏Coverity测试顾问和提交设置测试顾问配置,覆盖配置设置特定于C / c++, c#和Java。
源代码控制配置“供应链管理”(可选)作设定,使检索源代码控制的版本历史。
失败构建如果到匹配的缺陷构建失败如果缺陷发现通过过滤器的所有缺陷。
如果到匹配的缺陷构建标记为不稳定构建标记为不稳定如果缺陷发现通过过滤器的所有缺陷。
构建后不获取缺陷吗选择这个如果构建缓慢或获取缺陷太多资源。
保持每个构建后中间⽬录构建后保持中间⽬录。 这只会产⽣影响是⼀个⾮默认选择中间⽬录。
隐藏的缺陷图在项⽬页⾯隐藏的缺陷图在项⽬页⾯。 这个设置可以加快页⾯加载时存在⼤量的缺陷或构建。
Coverity先进解析
它提供了⼀个withCoverityEnv⼀步调⽤和包装⼯具coverityResults⼀步从Coverity连接视图检索问题。 为了使⽤这些步骤你需要设置Coverity⼯具在全球⼯具配置和全球配置(见Coverity连接实例开始详情)。
这个步骤将使⽤指定的Coverity⼯具安装和bin /⽬录添加到路径包裹的任何步骤。 这将允许管道脚本
访问Coverity⼯具(如cov-build、cov-analyze和cov-commit-defects)直接从脚本步骤(如⼀个Shell脚本或Windows批处理脚本)。 同时,这个步骤提供了⽤户绑定Coverity 连接实例信息,如主机/端⼝/凭证环境变量。
建议⽤法:
withCoverityEnv(coverityToolName: 'default', connectInstance: 'Coverity Connect Instance Name') {
// execute any coverity commands with either `sh` or `bat` script step
//  (all Coverity Tools in /bin available on PATH)
// By default, Coverity Connect Instance information will be avaible in following environment variables
//
// HOST -> COVERITY_HOST
// PORT -> COVERITY_PORT
// USER -> COV_USER
// PASSWORD -> COVERITY_PASSPHRASE
//
// Users can customize all the above default environment variables
}
这将使⽤Coverity静态分析⼯具安装名为‘默认’和‘/ bin⽬录添加到路径范围内构建包装。
提⽰:使⽤管道语法⽚段的发电机withCoverityEnv确保你选择⼀个配置⼯具的安装和配置Coverity连接实例
⽤⼀个变量在脚本访问coverity⼯具⽬录中,例如:
def covHome = tool name: 'default', type: 'coverity'
sh "${covHome}/bin/cov-build --dir idir "
// followed by other coverity commands (using "${covHome}/bin")
⼿动更新env。 脚本的路径
env.COV_HOME = tool name: 'default', type: 'coverity'
env.PATH="${env.COV_HOME }:${env.PATH}" // on windows node use ;
sh "cov-build --dir idir "
// followed by other coverity commands (all in /bin available on PATH)
你也可以把withEnv与tool⼀步Coverity⼯具⽬录设置为任何环境变量
⼯具⽬录将解决的节点执⾏管道(见开始有关⼯具安装和每个节点位置)
注意,对于任何Coverity⼯具执⾏构建/分析/提交步骤必须共享相同的中间⽬录值(见Coverity分析⽤户和管理员指南更多细节)
这个插件提供了⼀个coverityResults⼀步将从Coverity连接配置实例检索问题,项⽬,和视图。 通过添加这⼀步的管道将包括任何结果以同样的⽅式发现问题构建结果管道。
使⽤⽰例:
coverityResults connectInstance: 'cov-connect', connectView: 'JenkinsPipelineView', projectId: 'my pr
oject'
使⽤管道语法⽚段发⽣器得到帮助选择Coverity连接实例和验证项⽬和视图的价值观
⾼级选项可以中⽌管道,管道或管道标记为失败不稳定,如果任何问题被发现在Coverity连接视图(使⽤abortPipeline,failPipeline或unstable 默认值,这些选项是错误的)。
abortPipeline优先于failPipeline和failPipeline优先于unstable。
视图可以配置在Coverity连接⽤户界⾯(使⽤相同的⽤户凭证,将连接在管道运⾏)。 看到Coverity平台⽤户和管理员指南信息配置视图。
视图必须配置为⼀个“快照”问题:视图类型。 这可以确保最近提交问题,通过保持默认视图的“Snaphost范围”last()。
视图应该包括列“CID”,“检查”,“⽂件”,“功能”为了妥善记录问题/管道运⾏(否则就计数可能如图所⽰)。
视图过滤器应该配置为管道的问题提交。 ⼀个例⼦将过滤的“分类”“未分类”|“等待”|“错误”或“状态”的“新”|“筛选”
视图组通过设置必须设置为“⽆”与⼀组检索问题的观点是不⽀持。
注意,这个管道⼯作步骤⼤⼤不同于⾃由泳post-build步骤在两个主要⽅⾯:
检索的结果是每个项⽬,⽽不是每流。
在这种情况下,多个管道(或⼯作)提交到多个流在相同的项⽬中,不同的观点必须由适当的配置过滤流。
过滤配置完全Coverity连接,⽽不是在詹⾦斯配置
这允许过滤列上没有提供在post-build步骤以及更加动态⽇期过滤功能。
下⾯的脚本使⽤⼀个Coverity静态分析⼯具安装命名default,配置“⽤户名与密码”credentialId的凭据jenkins-cov-user,名叫Coverity连接配置实例cov-connect。 Coverity连接实例有⼀个项⽬命名my project(包含⼀个流命名为“我的流”)和⼀个名为“快照”问题:视图my view。
node {
stage('Preparation') {
// checkout the source code
git ``
}
stage('Run Coverity') {
// use a variable for the shared intermediate directory
iDir = 'cov-idir'
withCoverityEnv(coverityToolName: 'default', connectInstance: 'Coverity Connect Instance Name') {
// run cov-build capture command
sh "cov-build --dir ${iDir} "
// run cov-analyze command
sh "cov-analyze --dir ${iDir}"
// run cov-commit-defects command
sh "cov-commit-defects --dir ${iDir} --host ${COVERITY_HOST} --port ${COVERITY_PORT} --stream my stream"
}
// cleanup intermediate directory after commit was made (optional space saving step)
dir("${iDir}") {
deleteDir()
}
}
stage('Coverity Results') {
coverityResults connectInstance: 'cov-connect', connectView: 'my view', projectId: 'my project'
}
}
在这个例⼦中Coverity执⾏保存在⼀个Run Coverity阶段,为了打破Coverity命令到单独的阶段需要⼀个共享的中间⽬录。 建议使⽤外部⼯作空间管理器插件如果这是必要的(中间⽬录通常是⼤型储备/ unstash步骤)。
想做⼀个整合开源安全代码扫描⼯具的代码安全分析平台 - Android⽅向调研
静态代码扫描⼯具PMD定制xml的规则(⼀)操作篇
0.前⾔ PMD作为开源的静态代码扫描⼯具有很强的扩展能⼒,可使⽤java或xpath定制rule.第⼀篇从操作上讲解如何定制⼀个⽤于扫描xml 是否规范的规则.⾸先我们知道xml格式的⽂件在java⼯ ...
Lint——Android SDK提供的静态代码扫描⼯具
Lint和FindBugs⼀样,都是静态代码扫描⼯具,区别在于它是Android SDK提供的,会检查Android项⽬源⽂件的正确性.安全性.性能.可⽤性等潜在的bug并优化改进. 下图简单地描述了 ...
eclipse ⽆⽤代码扫描⼯具UCDetector
本⽂主要介绍UCDetector(⽆⽤代码扫描⼯具)使⽤⽅法及局限 对于沉积或多⽅接⼿开发的项⽬经常会遇到⼀坨⼀坨⽆⽤的代码,但⼀个⼀个类查⼜相当费时,这⾥介绍⼀个eclipse插件扫描没有引⽤的类 ...
Findbug插件静态java代码扫描⼯具使⽤
iOS开发之使⽤ infer静态代码扫描⼯具
infer是Facebook 的 Infer 是⼀个静态分析⼯具.可以分析 Objective-C, Java 或者 C 代码,报告潜在的问题. 任何⼈都可以使⽤ infer 检测应⽤,可以将严重的 ...
Android内存优化(五) Lint代码扫描⼯具
免费平台源码资源网1.使⽤ ⼯具栏 -> Analyze -> Inspect Code… 点击 Inspect Code 后会弹出检查范围的对话框: 默认是检查整个项⽬,我们可以点
击 Custom sc ...
⼀款代码扫描⼯具 ⽕线 fireline
1. 在⽕线官⽹进⾏⽕线相关⽂件的下载,下载后的⽂件为fireline.jar
2.运⾏fireline.jar⽂件前请先确认系统环境中已安装Java JDK.  java-version 查看 3 ...
静态代码扫描⼯具使⽤教程 - SonarQube+SonarScanner
随机推荐
浅⼊tomcat
前⾔:学习笔记,以供参考 1.什么是服务器 所谓的服务器其实就是⼀段别⼈写好的程序,服务器有两个能⼒. a.可以帮助我们来管理资源. b.可以将资源向外界发布以便于外界来访问这个资源. 2.资源有哪些 ...
【BZOJ-1090】字符串折叠 区间DP + Hash
1090: [SCOI2003]字符串折叠 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1127  Solved: 737[Submit][Stat ...
sql server 2008 R2 不允许保存更改,您所做的更改要求删除并重新创建以下表
点击菜单栏 [⼯具]->[选项] 进⼊如下界⾯: 将阻⽌保存要求重新创建表的更改 的勾去掉即可.
hnu11187
AC⾃动机+DP #include #include #include using namespace std ...
Eclipse new server : Cancnot create a server using the selected type
1.退出 eclipse
2.到[⼯程⽬录下]/.metadata/.untime
3.把lipse.p ...
Matlab划分测试集和训练集
% x是原数据集,分出训练样本和测试样本 [ndata, D] = size(X); %ndata样本数,D维数 R = randperm(ndata); %1到n这些数随机打乱得到的⼀个随机数字序列 ...
C#操作sql通⽤类 SQLHelper
Codeusing System; using System.Data; using System.Configuration; using System.Web; using System.Web. ...
shiro学习笔记_0100_shiro简介
前⾔:第⼀次知道shiro是2016年夏天,做项⽬时候我要写springmvc的,申哥看到后,说这个
不安全,就给我捣⿎了shiro,我就看了下,从此认识了shiro.此笔记是根据⽹上的视频教程记 ...
实际应⽤中遇到TimedRotatingFileHandler不滚动的问题

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。