0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

峰会回顾第26期 | 知识驱动的智能辅助开发研究与实践

OpenHarmony TSC 来源:OpenHarmony TSC 作者:OpenHarmony TSC 2023-08-21 17:20 次阅读

演讲嘉宾 | 彭 鑫

回顾整理 | 廖 涛

排版校对 | 李萍萍

f7fdd574-4003-11ee-852b-dac502259ad0.png

嘉宾简介

彭鑫,复旦大学计算机科学技术学院副院长、软件学院副院长、教授、博士生导师,中国计算机学会软件工程专委会副主任,主要研究方向包括软件智能化开发与运维、泛在计算软件系统、智能网联汽车等。获得2016年NASAC青年软件创新奖,多次获得IEEE Transactions on Software Engineering年度最佳论文奖、ACM SIGSOFT杰出论文奖、IEEE TCSE杰出论文奖等论文奖项。

内容来源

第一届开放原子开源基金会OpenHarmony技术峰会——开发者工具分论坛

视频回顾

打开 哔哩哔哩APP 搜索 OpenHarmony-TSC 视频更清晰

正 文 内 容

软件开发是一个知识密集型活动,涉及API算法、业务知识、样例代码以及可复用库等开发资源。然而,这些软件开发知识和资源缺乏统一的规范化描述,难以被方便地获取和复用。ChatGPT问世之前,学术界与工业界在智能辅助开发领域有哪些研究成果?ChatGPT爆火以后,我们又有哪些认识和思考呢?复旦大学计算机科学技术学院副院长、软件学院副院长,中国计算机学会软件工程专委会副主任彭鑫在第一届OpenHarmony技术峰会上分享了精彩观点。

f829fa3c-4003-11ee-852b-dac502259ad0.png

智能辅助开发的一个典型场景是基于深度学习的代码智能化推荐。以代码大数据作为输入,通过深度大模型训练,再基于训练结果进行微调或提示,最终在端侧实现代码搜索、代码推荐、代码生成、注释生成、缺陷预测和修复等能力。在ChatGPT火出圈之前,主要的代码智能化推荐产品有Copilot和AlphaCode。其中,Copilot已经实现了整函数和整方法的代码推荐,AlphaCode在编程竞赛中能够达到人类能力的普遍水平。尽管ChatGPT的强大推荐和人机交互能力让我们对AI和大数据深度学习产生了很多联想,但目前大数据深度学习的思路仍存在一定的局限性。

f8617156-4003-11ee-852b-dac502259ad0.png

Copilot

目前,大数据深度学习的主要思路是追求更多的数据、更大的模型、更强的算力、更好的代码表示方法、更多元的学习范式,以此获得更好的学习效果。而针对软件开发的本质性困难(如:需求与设计的开放性和创造性问题、领域的多样性和差异性问题等本质困难),以及开发人员的理解和决策问题(如:开发人员如何针对推荐内容进行选择、判断、理解和消化,如何开展长期维护)等方面,大数据深度学习可能并不是万能的。大数据深度学习思路探讨的根本问题,源于不同路线的选择:(1)AI领域的端到端思路:根据输入(功能描述)直接产生推荐结果(代码片段或线性的代码补全);(2)软件工程领域的人机协作思路:适应程序员的思考过程,从需求澄清到解决方案逐步精化,以交互的方式融入人的需求理解和经验判断。

软件开发最大的浪费是知识的浪费、重复思考的浪费。在实际的软件开发过程中,我们经常遇到如下场景:重复编写的代码、反复揣摩的设计意图、重复犯过的错误;它们(代码)曾经在脑海中浮现过、在交谈讨论和聊天记录中出现过,甚至曾经被记录过,但是无法在需要的时候出现;文档基本不可靠,要么过时要么从来没有存在过等。从长期来看,如何深层次、系统性地解决智能化软件开发问题呢?建立共建、共享,与代码持续协同演化的软件开发知识平台,能够大幅提升软件开发效率,保障代码质量,促进软件开发项目成员间的相互协作。例如,工业界“活文档”的实践上,实现了文档知识和项目始终保持同步、文档内容简短可理解以及文档知识集体所有等功能;在学术界,也提出了按需生成文档的思考,即基于各种结构化和非结构化软件制品,通过知识抽取按需生成高质量文档。

f87ebbf8-4003-11ee-852b-dac502259ad0.png

f8d0a45e-4003-11ee-852b-dac502259ad0.png

软件开发知识共享平台实践与思考

在ChatGPT问世之前,彭鑫教授所在团队基于知识思路的智能软件开发已经有相关尝试和产品:

(1)API/软件知识图谱构建:通过API文档中的API功能、特性、使用指南与约束等,并输入软件代码库的API样例、软件开发问答网站的API讨论等资源,结合通用知识图谱的概念关系进行语义标注,形成API知识图谱或软件开发知识图谱,开发端侧软件开发问答机器人等,以此辅助软件开发,提高开发效率;

f900eef2-4003-11ee-852b-dac502259ad0.png

f9238296-4003-11ee-852b-dac502259ad0.png

API知识以及API知识图谱

(2)基于知识图谱的代码概念链接:通过将代码段中的关键内容建立概念链接,使开发者在软件开发过程中,能够便捷地了解到相关代码的背景知识;此外,基于概念链接,对搜索出的代码列表提供多方面解释,如概念解释、概念关联路径以及补充建议等,还能够帮助开发者理解和筛选所需的代码片段;

f93cbe8c-4003-11ee-852b-dac502259ad0.png

代码概念链接

(3)基于事理图谱的代码异常修复:通常代码异常可能由多种原因造成,基于开发者在开源社区上求助的代码异常案例,抽取其求助目的、环境、代码片段、异常症状以及报错栈等内容,基于预训练语言模型进行提示学习,构建事理图谱,进而实现通过交互式问答获取异常报错相关信息,给出推荐的异常解决方案。

f95b0f68-4003-11ee-852b-dac502259ad0.png

事理知识图谱

在智能软件开发领域,ChatGPT具备代码解释、代码生成以及代码修复等能力,以人机对话的形式实现了多种智能化开发辅助功能,效果已经超过了现有手段。ChatGPT的强大能力背后,是否存在一些问题和可能的改进方向呢?彭鑫教授认为有以下几点:

通过提供相关真实项目代码、技术文档、人类问答等论据,增强推荐内容的可信性

结合一些专用模型或“小数据”方法改进,提高长尾及冷启动问题回答的准确性

将大模型与搜索引擎、知识图谱等传统信息和知识获取方法相结合,缓解知识更新问题

在大模型的基础上有机融入特定领域的软件知识和代码,从而支持特定领域软件开发问题

在大模型的基础上实现智能化的开发工具集成和反馈融合,让工具具有面向软件开发任务现场的“具身智能”

其中,特点领域/项目软件开发知识平台的开发是目前学术界和工业界的研究热点。如何协同机器智能、代码知识和专家知识呢?需要基于专家知识和代码规范管理,建立与代码双向追踪并同步演进的代码知识平台,探索以代码为核心、适应软件开发特点的知识众包模式。通过覆盖实现、设计、需求等不同层面的代码知识平台实现系统性开发知识复用。此外,在软件研发阶段,通过建立基于DevOps流水线的软件研发知识图谱,能够实现特性、缺陷、测试用例等开发制品与代码及其变更过程的全程追溯和基于知识的描述。

f992665c-4003-11ee-852b-dac502259ad0.png

f9b1b138-4003-11ee-852b-dac502259ad0.png

特定领域 / 项目软件开发知识平台

得益于软件代码及开发数据的大量积累和人工智能技术的发展,以及近期大模型和预训练模型方面取得的进展,使智能化软件工程研究与实践成为热点。但同时,智能化软件工程实践落地需要充分考虑软件工程实践以及特定领域的特点。未来,大模型将成为智能化软件开发的重要基础设施,改变现有的知识获取、抽取和利用方式;智能化辅助开发的主要问题变为如何在开发任务现场与大模型之间建立高效的双向交互管道;下一代IDE将成为融合软件开发项目和任务上下文及开发工具的智能化软件开发统一门户。期待与大家一起关注人工智能和软件工程领域相关进展,共同贡献国产化力量。

E N D

点击下方阅读原文获取演讲PPT。

关注我们,获取更多精彩。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OpenHarmony
    +关注

    关注

    25

    文章

    3629

    浏览量

    16031
收藏 人收藏

    评论

    相关推荐

    迅为iTOP-RK3568开发驱动开发指南-第十八篇 PWM

    期_SPI 第十七_串口 第十八期_PWM 第十九_RTC 第二十期_看门狗 未完待续,持续更新中... 更新内容 ◆教程更新 《iTOP-RK3568开发驱动
    发表于 10-29 10:13

    名单公布!【书籍评测活动NO.44】AI for Science:人工智能驱动科学创新

    材料基因组工程的推动下,人工智能如何与材料科学结合,加快传统材料和新型材料的开发过程。 4章介绍了人工智能在加快药物研发、辅助基因
    发表于 09-09 13:54

    2024 RISC-V 中国峰会:华秋电子助力RISC-V生态!

    百家业界领先企业及顶尖研究机构的专家学者,吸引了约3000名开发者、学者及行业精英亲临现场。在峰会前后,还策划了超过20场丰富多彩的同期活动,为全球开发者提供了一个深入交流、碰撞思想、
    发表于 08-26 16:46

    名单公布!【书籍评测活动NO.38】OpenHarmony开发实践 | 基于红莓RK2206开发

    移植,包括板级支持包(BSP)的开发和适配,以及外设驱动开发和移植;5章介绍了OpenHarmony操作系统的IoT组件开发,包括GPI
    发表于 07-19 10:57

    第二届大会回顾22 软件缺陷漏洞分析

    演讲嘉宾 | 梁洪亮 回顾整理 | 廖   涛 排版校对 | 宋夕明 嘉宾介绍 OS安全分论坛  梁洪亮, 博士,北京邮电大学副教授,博士生导师。研究兴趣为可信软件与智能系统。 视频回顾
    的头像 发表于 06-27 08:42 258次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>22<b class='flag-5'>期</b>  软件缺陷漏洞分析

    【大语言模型:原理与工程实践】探索《大语言模型原理与工程实践》2.0

    《大语言模型“原理与工程实践”》是关于大语言模型内在机理和应用实践的一次深入探索。作者不仅深入讨论了理论,还提供了丰富的实践案例,帮助读者理解如何将理论知识应用于解决实际问题。书中的案
    发表于 05-07 10:30

    第二届大会回顾13 | 以架构为中心的开发者工具的核心技术与应用

    演讲嘉宾 | 晋武侠 回顾整理 | 廖   涛 排版校对 | 李萍萍 嘉宾介绍  开发者工具分论坛  晋武侠 ,西安交通大学软件学院副教授。研究领域包括:代码分析、软件架构治理、智能
    的头像 发表于 02-25 17:59 703次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>13<b class='flag-5'>期</b> | 以架构为中心的<b class='flag-5'>开发</b>者工具的核心技术与应用

    第二届大会回顾12 | ClarifyGPT: 基于交互式需求澄清的大模型代码生成框架

    演讲嘉宾 | 石   琳 回顾整理 | 廖   涛 排版校对 | 李萍萍   嘉宾介绍  开发者工具分论坛  石琳 ,北京航空航天大学软件学院教授,CCF高级会员,2022年度中国科学院软件研究
    的头像 发表于 02-25 17:58 988次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>12<b class='flag-5'>期</b> | ClarifyGPT: 基于交互式需求澄清的大模型代码生成框架

    第二届大会回顾10 | 低时延分布式共享设备研究与探索

    演讲嘉宾 | 杜   东 回顾整理 | 廖   涛 排版校对 | 李萍萍   嘉宾介绍  OS内核及视窗分论坛  杜东 ,上海交通大学助理研究员,OpenHarmony项目群技术指导委员会并发与协同
    的头像 发表于 02-25 17:52 503次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>10<b class='flag-5'>期</b> | 低时延分布式共享设备<b class='flag-5'>研究</b>与探索

    第二届大会回顾14 | 矢量图的高质量重建与高效绘制

    访问学者,中国计算机学会高级会员。主要从事计算机辅助设计与图形学研究,已发表学术论文60余篇,主持参与多项国家自然科学基金项目、重点研发项目等。担任CCF计算机辅助设计与图形学专委会执行委员,CSIAM几何设计与计算专委会委员,
    的头像 发表于 02-23 16:24 317次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>14<b class='flag-5'>期</b> | 矢量图的高质量重建与高效绘制

    第二届大会回顾8 | 智能终端OS的个人数据处理与保护

    CCF杰出会员。主要研究领域是操作系统与系统结构,研究兴趣为通过软硬协同设计增强计算机系统的安全性、隔离性与性能。与团队开发的系统包括:RISC-V平台的可信执行环境系统“蓬莱”,直通式进程间调用硬件
    的头像 发表于 02-21 11:52 360次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>8<b class='flag-5'>期</b> | <b class='flag-5'>智能</b>终端OS的个人数据处理与保护

    第二届大会回顾7 | 基于Serverless边缘云的容器镜像弹性部署:理论与实践

    技术俱乐部主任,教育部重点实验室副主任。研究方向为边缘云服务,领域涵盖边缘智能,网络功能虚拟化,云原生等。在顶级期刊和会议发表论文100余篇,谷歌学术引用超过3800次,h-index 34,持有10余项专利和3项软件著作权。 视频回顾
    的头像 发表于 01-17 18:11 652次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>7<b class='flag-5'>期</b> | 基于Serverless边缘云的容器镜像弹性部署:理论与<b class='flag-5'>实践</b>

    聚焦低碳未来!CLAN(科兰)受邀参加24届CIBIS建筑智能峰会

    2023年10月26日,双碳战略背景下电气与智能化技术发展论坛暨2023年24届CIBIS建筑智能峰会西安站在万丽酒店成功举办。科兰通讯
    的头像 发表于 12-26 10:54 406次阅读
    聚焦低碳未来!CLAN(科兰)受邀参加<b class='flag-5'>第</b>24届CIBIS建筑<b class='flag-5'>智能</b>化<b class='flag-5'>峰会</b>

    第二届大会回顾6 | OpenHarmony游戏生态建设

    Turbo黑科技核心成员,在OpenHarmony社区上担任开源图形驱动SIG、游戏SIG、兼容性工作组组长等职务。 视频回顾   打开哔哩哔哩APP,观看更清晰视频 正文内容 游戏作为一种大众娱乐方式越来越被人们所接受,影响着人们的日常生活。大部分手机、平板、电脑甚至
    的头像 发表于 12-26 08:36 360次阅读
    第二届大会<b class='flag-5'>回顾</b><b class='flag-5'>第</b>6<b class='flag-5'>期</b> | OpenHarmony游戏生态建设

    罗姆(ROHM)4代:技术回顾

    罗姆(ROHM)4代:技术回顾
    的头像 发表于 11-28 17:02 671次阅读
    罗姆(ROHM)<b class='flag-5'>第</b>4代:技术<b class='flag-5'>回顾</b>