华为云智能化研发服务前沿技术布局速览

举报
华为云软件分析Lab 发表于 2022/09/14 21:12:25 2022/09/14
【摘要】 为持续保持业界领先,华为云近年通过 “CCF-华为胡杨林基金-软件工程专项”面向国内外高校,连续发布前沿技术合作课题,以期共同培育该领域人才并促成相关优秀研究成果的工业化落地。借助华为云22年发布的胡杨林基金合作课题(目前已完成合作提案征集与评选工作),本文带领大家一同梳理下华为云面向智能化研发场景所进行的前沿技术布局。

华为软件开发云DevCloud面向开发者提供云上研发工具链服务,让软件开发简单高效智能。为了持续提升用户体验,DevCloud会持续加大各类智能化研发服务(如代码智能补全与生成、代码缺陷智能检测与修复、开源成分分析与治理等)的投资与孵化。为持续保持业界领先,华为云近年通过 “CCF-华为胡杨林基金-软件工程专项”面向国内外高校,连续发布前沿技术合作课题,以期共同培育该领域人才并促成相关优秀研究成果的工业化落地。借助华为云22年发布的胡杨林基金合作课题(目前已完成合作提案征集与评选工作),本文带领大家一同梳理下华为云面向智能化研发场景所进行的前沿技术布局

 

技术布局1:基于代码大数据分析的缺陷修复模式挖掘技术

静态检查工具在实际大规模代码上可能产生数以万计的告警,人工修复成本巨大。此外,在实际代码修复过程中,开发人员可能缺乏必要经验和知识,存在分析困难和不知如何解决的情况。英国剑桥大学2013年的研究表明,每年全球在修复代码缺陷和调试代码逻辑上要花费1560亿美金,占到编程人员所有工作时间的50%以上。针对上述场景,需要探索具有一定自动化程度的缺陷修复技术方案。从代码、文档记录等软件数据中智能识别并挖掘各类漏洞和缺陷的修复模式,提供尽可能准确的修复建议甚至自动修复,将大大提高软件系统的质量和安全性。

 

技术布局2:数据驱动的高效开源漏洞挖掘技术

现代软件开发大量复用开源软件,软件开发效率得到了极大提升,但与此同时,也会面临严峻的开源风险攻击。据《2021年开源安全与风险分析报告》统计,平均每个代码仓含158个安全漏洞,84%的代码仓都至少存在1个安全漏洞。相比20年,21年高风险漏洞环比增长了11%。围绕开源三方库,快速感知开源安全漏洞并进行精准漏洞影响范围通知及安全响应,将成为未来商业产品的有力安全保障。为支撑上述场景,需布局数据驱动的高效开源漏洞挖掘技术,从而快速、全面、精准地识别开源漏洞信息,实现漏洞的精准定位、通知、响应。

 

技术布局3:Flaky测试的根因分类定位方法

系统测试是软件开发与运维中的重要环节,然而Flaky Test在同样的软件代码和环境配置下,却无法保证确定(有时成功、有时失败)的测试结果。实际生产中存在大量Flaky测试的问题,即测试结果发生失败-成功的跳转。Flaky测试的结果难以复现,往往耗费开发人员大量时间进行失败原因定位,却不一定对提升产品质量产生增益。行业内一般通过“重跑”来定位系统级Flaky测试,然而相较于单元测试, 系统测试(黑盒)的重跑往往会耗费大量的计算资源及时间。开发针对系统级Flaky测试的自动化检测、分类、定位及修复技术, 将极大降低相关人力投入及计算成本。

 

技术布局4:基于多态失败日志的根因定位算法

现有软件失败日志定界分析方法通常都是通过专家预定义的经验模式或者将特征提取和深度学习分类器相结合进行失败原因的定界与定位。随着软件规模的持续增长以及产品迭代周期的不断加快,上述技术会面临越来越多的局限性,如失败日志模式越来越复杂多样,类别树频繁变动,标签数据质量不佳,专家经验难以通过人工方式预先总结归纳,现有分类器鲁棒性不强等。针对上述问题,需探索综合利用测试日志、运行日志、环境日志、测试脚本、被测对象等软件失败场景相关数据的自动化失败日志定界定位分析方法,以加速复杂系统失败场景的快速问题定位与修复。

 

技术布局5:业务特性感知的资源调度技术

随着云计算、微服务、容器等技术的蓬勃发展,云上业务随时会面临用户流量激增的挑战。为了提供稳定可靠的服务运维水平,各业务服务需具备动态扩容、弹性伸缩的突发流量应对手段。针对上述问题,业界普遍采用资源调度算法来灵活调遣资源,保证服务SLA(Service Level Agreement)。然而目前业界采用的调度算法往往简单粗暴,无法针对不同的服务所承载具体业务属性,提供个性化的调度算法,使得大部分服务仍然存在“资源平均空闲时间长,利用率整体偏低”等问题。为解决该问题,需探索业务特性感知的资源调度技术,最大化盘活服务背后资源,保证服务SLA,实现最大ROI(Return On Investment)。

 

技术布局6:面向研发数据的知识图谱实体关系识别和融合技术

公司内软件设计、开发、构建、测试等研发过程沉淀了大量的数据,这些数据来源于不同的服务系统,呈现多源异构的特点。通过提炼研发过程的数据,构建研发知识图谱,可以更好的组织和表示数据。知识图谱具有多维度、结构化特点,常用于查询和推荐等场景,相比机器学习方法,更具有可解释性。在研发过程中可用于用例推荐、根因定界、代码分析等,有助于研发效率的提升。在进行知识图谱的构建过程中,需解决研发数据场景中多源异构数据的抽象、实体和关系的准确识别及融合问题,以完成高效准确的知识图谱构建并支撑相关上层研发服务。

 

技术布局7:面向联盟区块链的新型智能合约语言

区块链正在发展成为新一代数字经济基础设施,支持可信数字经济和数据要素流转,承载海量应用与大规模数据交换,与云计算融合形成云链一体化的服务体系。随着元宇宙等技术的不断推动,互联网将更加深入走向每个人的生活。每一个人和组织都可以变成独立的数字实体接入网络并进行价值交换,区块链智能合约将在该过程中发挥重要作用,从而保证整个数字生态的安全可信。当前的区块链智能合约已提供了图灵完备的表达能力、对象化编程语言和高效的执行方法,然而在去中心化场景中,区块链应用依然存在隐私安全、监管和易用性等方面的问题。为应对上述问题,需研发去中心化环境下的新型语言范式和编译器技术,来解决DAPP(Decentralized Application)安全隐私、性能、监管等问题,进一步提高智能合约语言自身的执行效率,保障数据安全与逻辑安全。


文章来自 PaaS技术创新Lab,PaaS技术创新Lab隶属于华为云,致力于综合利用软件分析、数据挖掘、机器学习等技术,为软件研发人员提供下一代智能研发工具服务的核心引擎和智慧大脑。我们将聚焦软件工程领域硬核能力,不断构筑研发利器,持续交付高价值商业特性!加入我们,一起开创研发新“境界”!(详情欢迎联系 mayuchi1@huawei.comguodongshuo@huawei.com)

PaaS技术创新Lab主页链接:https://www.huaweicloud.com/lab/paas/home.html


相关链接:

SAVE: 软件分析验证和测试平台:https://bbs.huaweicloud.com/blogs/360411

加快云原生技术转型, 智能调度登陆华为云DevOps: 增速,节源:https://bbs.huaweicloud.com/blogs/338712

大规模数据如何实现数据的高效追溯: https://bbs.huaweicloud.com/blogs/374266

2022年度CCF-华为胡杨林基金-软件工程专项评选结果发布: https://mp.weixin.qq.com/s/ixjZodHPoir4BF0CCDQKfQ

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。