提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郑恭琳|2020-06-22 14:43:22.873|阅读 445 次
概述:为了成功地将静态分析应用到您的项目中,重要的是要确保您的静态分析工具易于使用,并且开发人员可以轻松访问,并预先提供有用、可操作的信息。在本文中,学习如何通过有效的日常工作流程最大程度地利用静态分析。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
为了成功地将静态分析应用到您的项目中,重要的是要确保您的静态分析工具易于使用,并且开发人员可以轻松访问,并预先提供有用、可操作的信息。在本文中,学习如何通过有效的日常工作流程最大程度地利用静态分析。
如果您还没有阅读上一篇有关静态分析入门的文章,那么我建议您先阅读一遍,以了解如何从静态分析工具解释您的第一份报告并处理初始分析而又不会使团队感到不知所措。
这个小入门系列的第二部分是关于如何将静态分析工具集成到您的日常工作流程中的。您如何每天整合静态分析?
事实证明,这是关键。确保在您的项目中成功采用静态分析,要围绕确保工具易于使用和开发人员易于使用的方式进行,并预先提供有用,可操作的信息。这是在开发人员正在使用的环境(IDE)(例如Eclipse或Visual Studio)中最佳实现的。静态分析警告的发送方式与IDE中的编译器错误相同,并且在代码中突出显示了这些警告,以使分析和修复更加容易。例如,请参阅以下集成在Eclipse中的Parasoft Jtest静态分析警告的屏幕截图:
正如您在Eclipse中的Java应用程序的以上示例中所看到的那样,Parasoft Jtest的静态分析结果以警告/错误视图(1)的形式提供,并且可以与任何其他错误进行交互信息。选择错误会将编辑器窗格(2)带到相关代码行,这还将在代码中显示可用于跟踪警告根本原因的控制流跟踪。如果需要补救,可以照常通过项目导航视图(3)提交代码。
那么,开发人员在分析每个警告时会做什么?最好在流程图中对此进行描述,如下所示:
它从汇总和过滤静态分析结果开始,这是确定优先级并关注关键警告的关键的第一步。通常,质量检查人员和团队负责人会在心中确定质量目标,并围绕此目标构建分析的配置。为了提高安全性,例如,将启用与安全性相关的检查器以及诸如CERT C的安全编码标准。
然后,开发人员根据团队制定的政策和产品的成熟度,调查并修复发现的警告。正如我在上一篇文章中所解释的,在一个未开发的项目中,大多数警告将被调查并确定优先级,因为代码量相对较小,而在成熟阶段的后期,过滤和优先级将更加严格,因此开发人员只能处理真正的严重警告。无论哪种情况,过程都是相同的。
响应静态分析警告进行更改后,将代码检入版本控制中,并在下一次构建期间再次进行分析。简短而紧凑的反馈循环可在编写和修改代码时极大地提高代码的质量和安全性。
集成到构建系统和持续集成管道中
静态分析工具和构建系统的主要集成点是通过命令行界面。以这种方式使用的静态分析的行为有点像编译器在构建结构中的行为。文件的处理方式相同,尽管输出不是可执行文件,而是存储在存储库中的结果,并按文件和内部版本号进行索引。
例如,使用Parasoft C/C++test,可以由Parasoft的报告和分析系统(Parasoft DTP)处理,该系统既是存储库又是分析结果的智能引擎。这项分析和附带的信息将反馈给每个开发人员的IDE,并可以通过Parasoft的网络门户向经理和团队负责人提供。
在上图中,您将看到我们如何将Parasoft静态分析工具集成到持续集成管道中。 Parasoft DTP是用于警告的中央存储库和分析引擎。
将静态分析集成到日常工作流程中,既需要开发人员直接在IDE中访问静态分析,又需要执行项目范围的分析、报告和管理的能力。直接支持开发人员使用代码的地方以及团队负责人和经理使用他们自己的趋势信息和报告访问相同的信息,这对于在项目中完全利用静态分析至关重要。
渴望更多?稍后再返回本系列的下一部分。我将解释如何处理静态分析警告积压和技术债务。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
针对 C/C++ 软件开发提供统一、完全集成的测试解决方案。
Parasoft Jtest用于应用软件开发的集成Java测试工具
Parasoft DTP开发测试平台,通过在SDLC中持续应用软件质量最佳实践降低了商务风险
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢