客户背景

G3 Technologies,Inc.是一家无线电信组织,提供定制服务的工具和解决方案,以满足固定/移动无线运营商、《财富500强》公司和人道主义服务组织的需求。

面临的挑战

G3极高的软件质量标准要求使用静态分析工具,该工具必须能够彻底,有效地分析代码。 随着不断扩大的开发团队和不断增长的代码库(一个代码库超过1100万行代码),G3需要一种自动化、可扩展的静态分析工具,该工具能够帮助他们尽早发现并修复缺陷。

解决方案

当G3准备实施新解决方案时,Parasoft静态分析由于能够分析其复杂的C++代码而脱颖而出。部署了Parasoft的静态分析工具后,G3立即注意到其一些软件应用程序的软件稳定性有所提高。例如,在开发阶段的软件崩溃次数大大减少了,这表明Parasoft正在帮助G3消除冗长的调试工作。

Parasoft为G3提供专注于安全性和整体软件质量的静态分析解决方案


案例详细介绍

静态分析是G3软件质量政策的重要组成部分,因为它使公司能够在开发生命周期中尽早发现缺陷,并防止与后期错误检测相关的下游成本。静态分析减轻了测试人员的负担,因为它使开发人员能够在缺陷通过质量检查之前发现并修复缺陷。

更重要的是,高质量的静态分析工具可防止错误进入生产管道。这有助于G3避免发布昂贵的补丁程序,否则可能会损害企业的声誉,并通过额外的验证补丁程序工作来负担开发和测试团队的工作。

G3正在寻找一种新的静态分析解决方案。他们以前的静态分析供应商似乎对将他们的关注范围从整体软件质量缩小到对网络安全的过度关注更感兴趣。G3希望静态分析合作伙伴愿意与他们合作实施增强功能,以帮助G3实现其软件质量目标,而先前的合作伙伴似乎不愿与G3合作改善其工具的质量方面。

在评估了几家商业静态分析供应商之后,G3选择了Parasoft

G3的高品质标准

G3极高的软件质量标准要求使用静态分析工具,该工具必须能够彻底,有效地分析代码。随着不断扩大的开发团队和不断增长的代码库(一个代码库超过1100万行代码),G3需要一种自动化的,可扩展的静态分析工具,该工具能够帮助他们尽早发现并修复缺陷。G3积极主动地尽早发现尽可能多的错误的方法,使该公司能够快速交付客户期望的高质量软件。

由于G3用C++编写了许多软件,因此寻找一个可以正确分析其代码的静态分析工具就更加艰巨。与其他高级语言相比,C++使开发人员能够获得最高的性能。但是,需要权衡的是,需要更严格的代码分析和对设计的细致关注,以避免与稳定性和安全性相关的错误。

Parasoft的静态分析由于能够分析其复杂的C++代码而脱颖而出。部署了Parasoft的静态分析工具后,G3立即注意到其一些软件应用程序的软件稳定性有所提高。例如,在开发阶段的软件崩溃次数大大减少了,这表明Parasoft正在帮助G3消除冗长的调试工作。因此,G3可以在满足计划的同时继续交付高质量的软件。

在部署Parasoft静态分析工具的前6个月内,G3解决了约50000个违规问题,其中一些是关键错误,例如类型转换问题、未使用的变量和空指针取消引用。

G3的工程副总裁安德鲁·帕克(Andrew Park)理解,与可用性缺陷进入生产环境相关的成本可能会严重损害该公司提供几乎没有错误的软件版本的声誉。

用Park的话来说,“开发、测试和将补丁程序部署到操作系统通常比第一次就花费更多的成本。Parasoft是我们确保第一次就做到这一点的主要合作伙伴之一。我们在持续集成流程中采用了1083个Parasoft规则,在解决所有Parasoft缺陷之前,不允许软件进入生产系统。”

自定义静态分析规则

G3还需要能够自定义静态分析规则以满足其特定需求的能力。G3并没有遵循单一的即用型编码标准,而是使用一系列标准和自定义检查器来实现其编码策略。市场上的许多解决方案狭narrow地专注于代码的特定方面,例如网络安全,但是G3一直在寻找一种能够专注于安全性和整体软件质量的静态分析解决方案。

Parasoft使G3可以轻松地将静态分析规则映射到其内部编码标准,从而获得针对G3代码的非常彻底的静态分析解决方案。

协作技术合作伙伴

最终,G3不仅在寻找供应商,还在寻找可以在可预见的将来与G3合作的合作伙伴。他们以前的供应商不愿与G3合作改善他们的静态分析解决方案。但是G3认识到,与静态分析工具提供者合作进行增强不仅可以帮助G3更有效地分析代码,而且可以确保供应商可以帮助G3长期提供高质量的产品。

他们的必须具备协作文化和致力于帮助G3实现其软件质量目标的承诺,而G3则通过Parasoft找到了这两个特征。正如Park所解释:

“尽管Parasoft显然是一流的,但他们的员工表现出了真正的渴望,可以从我们这里听到他们如何改进产品的渴望。他们的公司文化正是我在合作伙伴中寻找的。”

Parasoft的详尽文档同时提高了G3开发团队的整体敏锐度。他们能够在单个视图中查看静态分析违规的能力,有助于提高即使是经验丰富的员工的编码能力。

Parasoft实施

我们在持续集成流程中采用了1083个Parasoft规则,在解决所有Parasoft缺陷之前,不允许软件影响生产系统。

结果

借助Parasoft,G3能够在开发生命周期的早期发现并修复难以发现的缺陷,将生产中的崩溃次数减少到零,并改善开发团队的整体编码风格。


关于PARASOFT

Parasoft通过自动执行耗时的测试任务并为管理层提供必要的智能分析来专注于重要事项,从而帮助企业完善当今高度连接的应用程序。通过整合静态和运行时分析,Parasoft的技术减少了交付安全、可靠且合规的软件的时间、精力和成本。单元、功能和API测试;和服务虚拟化。借助开发人员测试工具、经理报告/分析和执行人员仪表板,Parasoft为软件组织提供了在嵌入式、企业和IoT市场成功开发和部署应用程序所需的创新工具,同时还支持当今最具战略意义的开发计划——敏捷agile、持续测试、DevOps和安全性。

Parasoft为G3提供专注于安全性和整体软件质量的静态分析解决方案

点击“了解更多”申请免费试用

检测空指针 静态检测_Parasoft为G3提供专注于安全性和整体软件质量的静态分析解决方案...相关推荐

  1. 检测空指针 静态检测_动态扭矩和静态扭矩的区分及其应用

    简述扭矩传感器 TT扭矩传感器 扭矩传感器是一种测量各种扭矩.转速及机械功率的精密测量仪器,它根据电阻应变原理把扭转力矩产生的应变转换成与其成线性关系的电信号的仪器,该产品制造工艺成熟,品种齐全,量程 ...

  2. 利用OWASP Benchmark V1.2基准对国内静态检测工具的测评分析

    笔者一直从事于软件测试.软件安全方面工作,跟踪国内外软件测试工具的使用和效果.最近笔者接触了CoBOT源代码缺陷检测工具,想验证一下该工具的检测效果,于是下载了OWASP Benchmark 1.2基 ...

  3. 源代码静态检测分析技术浅析

    目前,基于源代码静态检测分析技术,运用越来越广,那么源代码安全检测的技术主要有哪些呢?下面我结合源代码静态分析的发展,技术特点,来分析四种相关技术: 数据流和模式匹配技术 符号执行的分析技术 抽象解释 ...

  4. 静态检测工具STATIC以及静态分析的必要性

    这一篇向大家介绍的是我司静态检测工具STATIC以及静态分析的必要性.欢迎各位技术大牛发表自己的看法呀! 正常运行的软件就是完美的软件吗? 下图是漫威电影<黑豹>中给小编留下很深印象的场面 ...

  5. 关于文档钓鱼和绕过杀毒软件的静态检测

    本文章仅做为教学目的,若本文章的技术造成财产损失,本文作者概不负责 文章目录 1.将word文件存储在可执行文件中 2释放资源,导出文档和dll文件 2.1先进行变量的初始化操作 2.2获取内置文档和 ...

  6. QT调试技巧-使用静态代码检测工具Cppcheck检测代码

    #QT调试技巧-使用静态代码检测工具Cppcheck检测代码 如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518033 环境: Qt Creat ...

  7. 工程质量智慧检测管理系统为检测机构数字化管理提供更优解决方案

    导读:目前,湖北.河北.河南.湖南.江西.云南.福建.陕西.安徽.甘肃等地的相关部门陆续发布<关于2022年检测机构专项整治的通知>,检查的主要内容涉及到资质.人员.设备.样品.报告.体系 ...

  8. matlab dpm目标检测,车辆目标检测

    原标题:车辆目标检测 车辆是视频场景中最关键的对象之一,车辆 和 人 是视频检测永恒的话题. 车辆检测是车辆分析中关键的一步,是后续进行 的基础. 关于检测的方法和框架有很多,不外乎是特征训练和分类, ...

  9. 目标检测 | 盘点目标检测中的特征融合技巧(根据YOLO v4总结)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 特征融合分类 在深度学习的很多工作中(例如目标检测.图像分割),融 ...

  10. kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归...

    使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...

最新文章

  1. java泛型函数 返回值_java 泛型(类)方法返回值为什么是 Object??
  2. mysql中一个表最多能有几个auto_mysql--一个表上可以指定几个auto_increment
  3. conda (picard)
  4. 等同于JavaScript isset()
  5. mysql报错 Incorrect table definition;there can be only one auto column and it must be defined as a key
  6. (iOS)Storyboard/xib小技巧
  7. Java程序员必备基础:Java代码是怎么运行的?
  8. nodejs mongoose建模实践
  9. spring EL 实现ref的效果
  10. 大华Global Shutter CMOS摄像机剖析
  11. LeetCode 1551. 使数组中所有元素相等的最小操作数(等差数列)
  12. oracle Sql语句分类
  13. 如何维护应用程序状态
  14. 如何在Mac上禁用iCloud驱动器?
  15. 【图像增强】基于matlab同态滤波+Retinex+模糊技术图像增强【含Matlab源码 1013期】
  16. Ubuntu 安装gcc/g++
  17. eclipse 没有web项目解决办法
  18. 方方格子access_安装了这两款Office插件,我确信你的办公效率会大大提高!
  19. 【AWVS】python调AWVS接口 新建扫描并导出扫描报告 [自定义扫描报告](三)
  20. N多计算机精品免费视频下载,不要别后悔啊

热门文章

  1. 24. flock() 函数
  2. 19.简报配置(Newsletter Configuration)
  3. 2. 配置Xdebug
  4. html5中的web worker的用法
  5. XManager连接CentOS6.5
  6. 第七届蓝桥杯省赛--四平方和
  7. 剑指Offer--二维数组中的查找
  8. Transactional replication-如何跳过一个事务
  9. 从宠物浴液做一个O2​O项目的设想
  10. QuickFlow教程(14)—ExecuteCode using QuickFlowDesigner