提升软件质量?为什么不试试华为云CodeArts Check
,将代码质量保证活动从原始的人工检视中解脱出,确保代码的高质量并助力客户的商业成功。
并非原生商用的代码检查工具不够优秀,而是这些工具确实不能覆盖华为所有的应用场景。所以,华为走上了自研代码检查工具之路。在这里可以讲一个小插曲。某次,华为的一个客户提出,要快速确认产品代码中是否使用了不安全的内存操作函数。华为最初采用商用工具进行了常规排查,但在排查之后发现,仍有遗漏的场景。同时客户又提出,除了要排查出是否使用了不安全的函数,还要确认使用了不安全函数的安全版本是否使用正确。这一要求已经超出了当时商用工具的能力范围。华为积极投资快速响应客户的个性化要求,在极短的时间内通过自研弥补代码检查工具能力的不足。
■ 2007年,结合ISO 9126系统/产品质量模型,华为发布了《软件代码质量要求及样例》,明确了代码质量必须达到的6项要求——简洁、可靠、可维、可测、高效、可移植,并在此基础上打造出Program SMaRT1.0模型。
■
2012年,华为对Program SMaRT模型进行了完善,着重扩展了安全性。
■
2018年,华为基于对好代码的解读和追求,结合业界先进实践、专家学术研究和ISO标准,提出了华为的CleanCode主张,旨在满足功能正确的前提下,打造具有”可读、可维护、安全、可靠、可测试、高效、可移植“七大特征的高质量代码,建立人人编写CleanCode代码的软件文化。同时华为开始自研与各主流编程规范对应的自动化代码检查能力,相对应的编程规范检查工具CodeCheck也开始面向全公司开发人员进行推广普及。
此外,华为内部多种多样的应用场景,让开发团队能够不断补强、夯实代码检查的基本技术与能力,而不仅限于简单的词法、语法分析这样的检查。如今,自研工具已经成了华为代码检查的核心力量。
当时华为的状况是,虽然每一个产品都有针对性的检查规范,也配备了相应的检查工具,完全能够确保产品本身的质量与安全。于是,华为从公司规范入手,对照业界标准,重新梳理、刷新所有相关的安全规范、编程规范。在此基础之上,每条产品线基于自身的业务特点,以及对安全性的细致要求,制定更加具体的要求和规则。这样一来,华为从整个公司层面,就能通过一个统一的平台,要求各产品线使用统一的必选规则集去执行软件扫描;而这个统一的平台还能有效汇聚、处理各业务线的数据,并将相关数据提供给外部客户,以满足第三方检查、认证等方面的需要。经此改变,华为的整体产品质量又跃上了一个新台阶。
■
2018年,随着整个软件工具链的逐步完善,华为开始将用于内部的代码检查工具“外溢”,向外以服务的模式进行输出。
■
2020年4月,CodeCheck2.0正式发布,多款代码检查工具(ReviewBot、SecBrella、CodeCheck等)归一至新版的代码检查服务CodeCheck,并构建起“IDE-代码仓门禁-版本发布”三级检查体系。
■
2021年,CodeCheck经历多次技术攻关,实现了代码检查引擎对国外工具的核心安全及质量检测能力进行替换,不仅有效支撑了华为研发业务的连续,而且为深度安全及代码质量检查能力的商用交付夯实了基础。
■2022年4月,CodeCheck HCS版本交付,这也是CodeCheck首个正式对外商用的版本。经过近半年的精心准备,CodeCheck于2022年8月23日通过了业界标准CWE认证,具备了国际认可的专业资质;同年9月,CodeCheck完成了在墨西哥、巴西、新加坡等多个海外局点的开局,迈出全球化部署的关键一步。
1
利器一:自研代码检查引擎,代码质量评估无死角。
华为云CodeArts Check采用的自研引擎融合了华为30多年对代码质量及可信度提升方面的持续思考与探索实践,能够帮助用户在一次扫描中针对代码的”可读性、可维护性、安全性、可靠性、可测试性、高效性、可移植性”七大质量特征进行全面分析。
2
利器二:五大业界主流标准、华为编程规范,一个也不能少。
华为云CodeArts Check不仅支持ISO 5055、CERT、CWE、OWASP TOP10、SANS TOP 25五大业界主流编程标准,而且内置了华为终端、网络、云计算、芯片等产品多年研发经验总结的编程规范,提升了产品代码规范度。
3
利器三:开发语言、检查规则一应俱全,用户开箱即用。
华为云CodeArts Check不仅支持C、C++、Java、Python、GO等十余种常见开发语言,而且提供了超过7000条检查规则,能够满足各类检查场景需求,开箱即用。
4
利器四:日均百亿级扫描能力,超大规模代码检查易如反掌。
华为云CodeArts Check具备强大的高并发处理能力,还可通过AZ容灾、跨Region级容灾多活,支持过载保护、服务依赖和隔离等一系列高可用技术,实现服务故障自探测、自隔离、自恢复。
5
利器五:一站式问题闭环修复。
由于内置了编程规范说明、正确示例、错误示例和修复建议,华为云CodeArts Check能够让问题精准定位到行并提供修复指导。得益于修复指导、自动修复、结果自动继承这三大能力,华为云CodeArts Check能够将检查问题处理和修复的效率提升100%。
6
利器六:三层缺陷防护,效率与质量兼得。
华为云CodeArts Check提供了丰富的API接口以及IDE代码检查插件,并与代码仓协同支持代码提交时自动检查,与流水线协同支持软件全量代码检查,三层防范代码缺陷引入。
关键词
华为云
技术
工具
开发者
客户
最新评论
推荐文章
作者最新文章
你可能感兴趣的文章
Copyright Disclaimer: The copyright of contents (including texts, images, videos and audios) posted above belong to the User who shared or the third-party website which the User shared from. If you found your copyright have been infringed, please send a DMCA takedown notice to [email protected]. For more detail of the source, please click on the button "Read Original Post" below. For other communications, please send to [email protected].
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。
版权声明:以上内容为用户推荐收藏至CareerEngine平台,其内容(含文字、图片、视频、音频等)及知识版权均属用户或用户转发自的第三方网站,如涉嫌侵权,请通知[email protected]进行信息删除。如需查看信息来源,请点击“查看原文”。如需洽谈其它事宜,请联系[email protected]。