我们的静态分析解决方案 Coverity 可以识别出开发期间的关键质量缺陷和潜在安全漏洞,有助于降低软件在质量和安全方面的风险,并降低整体软件开发成本。它基于获得专利的分析技术以及对数万亿行专用和开源代码的十年研发和分析经验,提供可靠、可操作的修复指南。
> 通过深入理解源代码和底层框架,Coverity 可以提供高度精确的、可操作的分析结果,使开发人员不再浪费时间管理大量的误报结果。这会帮助他们随同敏捷的 CI/CD 工作流将安全性构建到开发生命周期中。
> Coverity 可以提供完整的路径覆盖范围,确保每一行代码和每一条潜在的执行路径都经过测试。它可以利用多种专利技术,确保深入、精确的分析。
> Coverity 可以集成到您的构建系统中,生成源代码的高保真度说明和注释,以确保深入理解其行为。
> 安全团队只需将Coverity 指向项目源代码即可分析多种语言(即,无需进行构建)。
Coverity 旨在彻底适应您的现有工作流,它具备以下功能:
> 并行分析允许 Coverity 同时运行高达十六个内核,实现的性能比序列分析高出 10 倍。
> 快速桌面分析和增量分析功能支持分析加速,只重新分析发生变动或受变动影响的代码,而非每次分析整个代码库。
> Coverity 可以扩展,在地理分布式环境中容纳数千名开发人员,并且轻松分析超过 1 亿行代码的项目。
软件开发生命周期(SDLC)集成
>Coverity 可以快速集成所使用的关键工具和系统,从而支持开发流程(例如: 源代码控制管理、构建和持续集成、缺陷跟踪、应用生命周期管理 (ALM) 解决方案以及集成开发环境 (IDE) 。
>这套开放式平台允许开发人员将第三方分析结果导入工作流,利用软件缺陷和风险单一视图以同一种方式查看和管理所有类型的缺陷。
高效的问题管理和修复
>利用该平台的协作式问题管理界面 Coverity Connect,开发人员能够获得可操作的信息以及精确的修复指南,为他们展示修复缺陷的正确方式和修复代码的最佳位置,无需深入的安全专业知识。Synopsys eLearning 客户还可以查看与其代码中的特定 CWE 相关的课程链接,以便更好地了解漏洞并在需要时立即进行安全培训。
>Coverity Connect 提供源代码导航,识别通向缺陷的准确路径,并自动识别共享代码之间发生的每个缺陷。
>缺陷可以自动分配到适合的开发人员加以解决,用户可以快速查看所有未解决的安全问题、OWASP 10 大问题、CWE 和 PCI DSS 相关的问题,以及质量、MISRA、CERT C/C++ 和 AUTOSAR 相关的问题。
扩展的标准合规性和漏洞检测
Coverity Extend 是一种易用的软件开发包 (SDK),允许开发人员检测独有的缺陷类型。这个 SDK 是为编写程序分析器或检查器提供的一个框架,帮助他们识别自定义或特定领域的缺陷。Coverity CodeXM 是一种面向特定领域的函数式编程语言,使开发人员可以轻松地开发他们自己的自定义检查器。这些定制化检查器还有助于满足企业安全要求和行业标准或指导方针的合规要求。
促进采用和缓解风险
Coverity Policy Manager 帮助企业定义和强制实施始终如一的标准,支持各个开发团队的代码安全、质量和测试。它可以全面观察团队、项目和组件是否符合这些标准,并基于缺陷和测试相关预定义标准,创建可以衡量的阶段关卡。Coverity Policy Manager 的定制化视图可以选择开发指标和阈值,从而与具体目标保持一致,支持嵌入式、企业级和移动应用。
产品特点及优势
Coverity产品专长于准确的查找最严重和最难检测的缺陷,具有以下优势:
精确性——Coverity Prevent的特别之处在于查找精确,具有业界最低的误报率。当许多其他的源代码分析产品以很高的误报率使得其不可用时,Coverity的虚假路径裁剪、统计分析和其它创新减少了误报的产生。附加的配置和微调能够进一步减少误报率。
分析的深度——Coverity Prevent提供过程间数据流分析和统计分析,评审整个程序的交互和所有的可能的路径。Coverity Prevent检查企业特定的APIs和标志使用中的不一致性,精确的检测QA、安全评审和现场会发生的缺陷。
分析的广度——Coverity Prevent采用查找最严重的错误的最先进的技术,提高您的产品的质量和安全性。Coverity Prevent可以检测严重的问题,例如系统崩溃、内存泄漏、内存错误、不确定行为、并发缺陷和安全性问题。
低拥有成本——Coverity Prevent无缝的与您已有的环境集成,能够快速部署和配置。
可扩展——Coverity Prevent使您能够在我们的强大的分析引擎上创建定制的检查器,来满足您的开发组织和代码的特定需求。您可以设置定制的规则,来强化编码标准或者检测代码中的错误。
强大的可配置性——Coverity Prevent能够快速的分析您的代码,不需要写测试用例。
广泛的平台支持——Coverity Prevent支持最广泛的编译器和硬件平台,可最大化的满足用户多平台的测试要求。
核心功能:
列出不会被执行到的代码
列出没被初始化的类成员变量
列出没有被捕获的异常
列出没有给出返回值的return语句
某个函数虽然有返回值,但调用该函数的地方没有用到它的返回值,这也会被列出来
列出没有被回收的new出来的对象
列出没有被关闭的句柄
精确定位到代码行,并提供逐层展开函数的功能
列出可能的数值类型溢出。例如,无符号int数做 ++ 操作,可能导致int溢出,都会被检测到。
什么地方该用&位运算,而不应该用|位运算,都能定位出来并作出建议
ostream在一个函数中被修改了格式,但退出该函数之后没有将ostream恢复成先前的格式,也会被检测到