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

    文章

    3766

    浏览量

    16962
收藏 人收藏

    评论

    相关推荐

    【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识

    【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识
    的头像 发表于 03-06 11:23 129次阅读
    【北京迅为】iTOP-RK3568OpenHarmony系统南向<b class='flag-5'>驱动</b><b class='flag-5'>开发</b>GPIO基础<b class='flag-5'>知识</b>

    【书籍评测活动NO.58】ROS 2智能机器人开发实践

    Jazzy长期稳定版推出,这也代表着ROS 2走向成熟。《ROS 2智能机器人开发实践》 一书全部代码便基于长期稳定版撰写。 ROS的发展 从2012年开始,使用ROS的人越来越多,ROS社区开始举办每年一届
    发表于 03-03 14:18

    明晚开播 |开源芯片系列讲座26:奕斯伟RISC-V GCC工具链实践分享

    鹭岛论坛开源芯片系列讲座26「奕斯伟RISC-VGCC工具链实践分享」明晚(22日)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目奕斯伟RISC-VGCC工具链
    的头像 发表于 01-21 08:04 167次阅读
    明晚开播 |开源芯片系列讲座<b class='flag-5'>第</b><b class='flag-5'>26</b><b class='flag-5'>期</b>:奕斯伟RISC-V GCC工具链<b class='flag-5'>实践</b>分享

    直播预约 |开源芯片系列讲座26:奕斯伟RISC-V GCC工具链实践分享

    鹭岛论坛开源芯片系列讲座26「奕斯伟RISC-VGCC工具链实践分享」1月22日(周三)20:00精彩开播期待与您云相聚,共襄学术盛宴!|直播信息报告题目奕斯伟RISC-VGCC工
    的头像 发表于 01-14 09:52 247次阅读
    直播预约 |开源芯片系列讲座<b class='flag-5'>第</b><b class='flag-5'>26</b><b class='flag-5'>期</b>:奕斯伟RISC-V GCC工具链<b class='flag-5'>实践</b>分享

    【「具身智能机器人系统」阅读体验】1.初步理解具身智能

    重要。 书中还详细介绍了支持具身智能机器人的核心技术系统,包括自主机器人计算系统、感知系统、定位系统及规划和控制系统。 本书共分5个部分。 1部分(1章和2章)介绍具身
    发表于 12-28 21:12

    华穗科技2024 NI全联结峰会回顾

    日前,NI全联结峰会在上海国际会议中心如期召开,此次峰会以“共赢智能测试未来”为主题。
    的头像 发表于 11-22 14:48 443次阅读

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

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

    《AI for Science:人工智能驱动科学创新》6章人AI与能源科学读后感

    驱动科学创新》的6章为我提供了宝贵的知识和见解,让我对人工智能在能源科学中的应用有了更深入的认识。通过阅读这一章,我更加坚信人工智能在未来
    发表于 10-14 09:27

    AI for Science:人工智能驱动科学创新》4章-AI与生命科学读后感

    很幸运社区给我一个阅读此书的机会,感谢平台。 《AI for Science:人工智能驱动科学创新》4章关于AI与生命科学的部分,为我们揭示了人工智能技术在生命科学领域中的广泛应用和
    发表于 10-14 09:21

    名单公布!【书籍评测活动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

    7EMC线上特训营圆满结营!

    的回忆,留下了让人难以忘怀的宝贵瞬间。▲直播间现场学习旅程回顾历时160天,课程从2024年1月18日开始,至2024年6月26日结束;累计打卡1460次,成长的
    的头像 发表于 06-28 08:17 327次阅读
    <b class='flag-5'>第</b>7<b class='flag-5'>期</b>EMC线上特训营圆满结营!

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

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

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

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