PVS-Studio静态代码分析器
malong 发布于 2021-02-24

PVS Studio是一种检测程序源代码中的缺陷和安全弱点的工具,用C、C++、C和java编写。它在Windows、Linux和macOS环境中的64位系统下工作,可以分析32位、64位和嵌入式ARM平台的源代码。

pvsstudio执行静态代码分析并生成一个报告,帮助程序员找到并修复bug。PVS Studio执行范围广泛的代码检查,在查找打印错误和复制粘贴错误时也很有用。此类错误的示例:V501、V517、V522、V523、V3001。

静态分析的主要价值在于它的常规使用,以便在早期阶段识别和修复错误。浪费50个小时寻找一个可以通过静态分析发现的bug是没有意义的。所以,让我们再次指出——静态分析的主要思想不是在发布前一天发现一个隐藏的bug,而是每天修复几十个bug。
分析器可以在夜间在服务器上运行,它会自动警告可疑代码片段。理想情况下,在进入版本控制系统之前,可以检测并修复这些错误。PVS Studio可以在刚刚修改的文件的编译器运行后立即自动启动。它适用于Windows、Linux和macOS。


Windows、Linux和macOS快速入门

PVS Studio与Visual Studio 2010-2019开发环境集成。如果您使用这个IDE,那么只需转到菜单的PVS Studio部分并选择“checkcurrentproject”。
然而,通常这是一个更复杂的过程,需要您将PVS Studio集成到一个构建系统中,甚至是一个异域系统。这种整合的主题太宽泛,无法在这里描述。您可以在我们的详细文档中找到所有相关信息。
还有一点需要注意-PVS Studio for Windows和Linux提供了特殊的工具,可以在构建过程中收集编译信息。这些工具提供了一种对项目执行快速分析的方法,而不管其构建系统是什么。您可以快速试用分析器的功能,而不必浪费时间将其与makefile或任何其他构建脚本集成。查看C和C++编译器监视工具(Windows)和PVS Studio分析器(Linux /MACOS)的文档,以获取更多的细节。

PVS-Studio主要特点

1、与Visual Studio 2010-2019的简单无缝集成
2、重新编译后自动分析单个文件
3、所有诊断规则的在线参考指南,可在本地、我们的网站和单个.pdf文件中获得。超过700页的文档!
4、保存和加载分析结果允许执行夜间检查-在夜间,分析仪进行扫描,并在上午向您提供结果。
5、您可以使用完整的源代码导航将分析结果保存为HTML。
6、可以从命令行执行分析:它有助于将PVS Studio集成到隔夜构建中;早上将发布新的日志。
7、极大的可扩展性:支持多核和多处理器系统,可以指定要使用的核数;对分布式分析的难以置信的支持。
8、在PVS Studio窗口中对分析结果(日志文件)进行交互式过滤:通过诊断规则编号、文件名、诊断文本中的关键字等。
9、自动检查更新(IDE内部和运行夜间构建时)。
10、错误通知实用程序。该工具允许您向开发人员发送有关PVS Studio在夜间运行期间发现的bug的电子邮件通知。
11、提交、合并和拉取请求分析-可以将analyzer配置为仅分析修改的文件。这样可以快速自动地分析每个提交到版本控制系统的操作。
12、集成到Linux和macOS下开发的项目中的大量选项。
13、标记为假警报-标记代码片段以抑制该行的特定诊断的能力。
14、质量抑制—抑制为旧代码引发的分析器的所有现有消息的能力,以便分析器开始报告0个警告。您可以随时在以后返回到被抑制的消息。这个特性允许您将PVS Studio无缝地集成到您的开发过程中,并且只关注在新代码中发现的错误。
15、有关analyzer警告的统计信息可以在Excel中查看—提供了一种跟踪错误更正速度、在特定时间段内发现的错误数量等的方法。
16、报表文件中的相对路径,以便在不同的计算机上查看它们。
17、编译器监视功能允许分析没有visualstudio文件(.sln/.vcxproj)的项目,而无需手动与生成系统集成;如果需要,可以手动集成到任何生成系统中。
18、pvs studio analyzer-Linux下的编译器监控工具。
19、能够按名称、文件夹或掩码从分析中排除文件;对在过去N天内修改的文件运行分析。
20、与SonarQube集成-一个开源平台,设计用于连续分析和测量代码质量。
21、使用静态应用程序安全测试(SAST)方法检测应用程序生命周期中的安全和安全缺陷。PVS‑Studio作为SAST专家被纳入Forrester研究报告“Now Tech:静态应用程序安全测试,2020年第3季度”。该报告可通过购买或订阅Forrester Research获得。

支持的语言和编译器

Windows. Visual Studio, C, C++, C++/CLI, C++/CX (WinRT)
Windows. IAR Embedded Workbench, C/C++ Compiler for ARM C, C++
Windows/Linux. QNX Momentics, QCC C, C++
Windows/Linux. Keil µVision, DS-MDK, ARM Compiler 5/6 C, C++
Windows/Linux. Texas Instruments Code Composer Studio, ARM Code Generation Tools C, C++
Windows/Linux/macOS. GNU Arm Embedded Toolchain, Arm Embedded GCC compiler, C, C++
Windows/Linux/macOS. Qt Creator, Eclipse, GCC, Clang, C, C++
Windows. MinGW C, C++
Windows/Linux/macOS. IntelliJ IDEA, Android Studio, Java
Windows/Linux/macOS. Visual Studio, JetBrains Rider, C#, .NET Framework, .NET Core


malong
关注 私信
文章
35
关注
0
粉丝
0