大语言模型加速信创软件 IDE 技术革新

2023-12-18

QCon 全球软件开发大会(上海站)将于 12 月 28-29 日举办,会议特别策划「智能化信创软件 IDE」专题,邀请到 华为云开发工具和效率领域首席专家、华为软件开发生产线 CodeArts 首席技术总监王亚伟担任专题出品人 ,为专题质量深度把关。

作为拥有云和开发工具领域近 20 年经验的老兵,华为公司软件开发工具领域的领军人物,20 多项软件开发技术发明专利的拥有者,王亚伟对于「智能化新创软件 IDE」这个专题有着怎样的理解?在会议即将开幕之际,王亚伟与 InfoQ 分享了他的核心观点。

图片

“信创”是信息技术应用创新的简称,其本质是发展国产替代技术,实现核心技术的可掌控、可研究、可发展等。

相比“信创”,“智能化”在过去 5 年中被业界反复提起,智能化技术的发展必然会使诸如 IDE 这样的软件开发工具更加强大。随着大语言模型的诞生,IDE 除了可以自动地完成一些重复性工作之外,还可以协助开发人员在软件的设计和开发过程中完成更多创新性的工作,比如:

自动化重构: 将一段复杂的代码分解为更小、更易于管理的函数或类。开发者可以描述他想要实现的重构目标,然后让模型生成相应的代码;

代码翻译: 大语言模型可以将一种编程语言的代码翻译成另一种编程语言,再配合 IDE 的语法高亮和错误检查功能,可以帮助开发者使用不熟悉的编程语言编写代码;

自动化文档生成和更新: 大语言模型可以根据代码和注释生成相应的文档,或者在修改代码时自动更新文档。大语言模型是 IDE 的智能化加速度。

IDE 的”信创“化旨在将基础软件开发的核心技术实现自主可控,在拥抱开源的同时逐步建立基于自有技术内核的架构和标准,形成自有开放生态。信创化的目的是为了规避可能或已经发生的风险:

信息安全和供应链安全风险: 在关键时刻,国外的产品和技术可能会面临供应链中断的风险。此外,国外产品或开源技术可能会存在安全漏洞或后门,基于这些技术打造的商业解决方案会威胁用户的信息安全 - 2020 年 3 月发生的 SolarWinds 攻击事件导致业界领先的开发工具公司 JetBrains 遭受牵连;

技术依赖风险: 如果完全依赖于外国的技术,那么我们在软件开发核心技术领域的研究、发展和创新能力就会受制于人,最终导致落后;

经济风险: 技术上依赖意味着我们需要持续支付大量的许可费用。

“信创”化不意味着重复造轮子或为了与现有技术不同而进行盲目创新,而是目标实现核心技术可控的前提下,解决现有技术的问题,从而对现有技术实现某些方面的超越。举个例子,代码索引是 IDE 的文件查找、代码提示等功能的基础数据源,现有商业 IDE 代码索引的创建、存储和访问效率并不高,索引数据基于对象存储访问时,一个只有 8 字节(2 个 int)内容的数据封装成对象后要占据至少 24 个字节的存储空间。同时,由于内存读写速率要远低于缓存,如果在存储和访问索引时没有以一种缓存友好的方式进行,读写效率甚至 100 倍下降。我们团队在代码索引存储和访问领域提出了一种基于内存压缩的索引自动化存储和访问技术,可以做到 50 倍以上的综合效率提升,该技术已经被评选为华为云高价值专利,并应用到 IDE 内核、运行时优化、云编译等多个领域。

技术的积累需要时间,产品研发更需要打磨。王亚伟介绍道:“从 2019 年初开始,我们逐步组建了一支数百人的软件研发专家队伍,分布在中国、俄罗斯、欧洲等国家地区,其中一半成员来自于业界顶尖的软件和工具公司,超过 40% 的成员是开源社区的 Committer 和 Contributor,整个团队都围绕着‘做最好的产品’展开工作,我们建立了从产品、运营、UX 到开发、测试的完整专业的产品研发流程,每月一个小版本、三个月一个大版本,基于内外部用户的反馈快速迭代。过去五年我们真正做到了深耕软件开发工具这个专业领域。”

同时,王亚伟也坦言:“虽然从产品成熟度上看我们的信创化工具跟业界成熟的商用工具相比还有差距,但‘信创’本身绝不意味着竞争力弱,体验打折。我们会继续秉持着‘做最好的产品’的信念,不断前进。”

在今年的「智能化信创软件 IDE」专题上,王亚伟带领他的专家团队将围绕大语言模型、AI 编码辅助、下一代 IDE 平台架构、动态语言类型推理等技术,给大家带来一场技术盛宴。

✔ 议题1:AI 开道,让编程体验“一路狂飙”

详细介绍华为云 CodeArts 团队应用大模型开发的 AI 辅助编程的技术 - CodeArts Snap,讲师程啸从博士阶段开始就对代码生成、RAG、代码克隆检测等领域有较深入的研究,他这次也是代表 Snap 团队进行分享。

另外三个英文议题是来自于 CodeArts 俄罗斯的专家团队。

✔ 议题2:Applying Machine Learning in IDE Challenges and Insights

将会系统讨论 AI 技术在 IDE 中的应用研究以及如何深远改变我们的开发,测试和调试代码的方式。讲师 Pavel 是俄研院新西伯利亚实验室主任,20 年开发者工具构建经验,机器学习专家、Eclipse IDE 的专家和 Committer。

✔ 议题3:Evolution of IDE Platforms

将会紧密围绕其在构建 IDE 平台时面临的问题和挑战比如分布式代码模型架构下如何确保前后端组件可以高效交互、如何直接从后端内核画出前端复杂 UI,以及我们如何做出艰难的架构和设计决策,同时分享对下一代 IDE 平台的架构和设计展望。Denis 是俄罗斯新西伯利亚实验室的首席架构师,20 多年的工具研发经验,精通编译器、DSL、编程框架,Eclipse 社区 Committer。

议题4:Type inference engine

静态语言如 Java,C# 等,它的类型推理主要通过编译器完成,代码模型可以通过类型绑定(通常存在于程序的元数据 metadata 中)获得所需要的类型信息。而动态语言的类型推理主要由 IDE 完成,由于缺少编译元数据的支持,动态语言的类型推理是一个业界难题。以 Python 为例,其有一个完全动态严格的类型系统,类型(type)在运行时动态绑定到变量(variable),变量和类型都可以在运行时动态被改变 – 这增加 Python IDE 进行可靠类型推理的难度。议题 Type inference engine 会介绍该团队在做动态语言类型推理时设计和实现的技术细节,并讨论未来该领域的发展方向。Nikolai 是俄罗斯圣彼得堡实验室的首席软件工程师,拥有 15 年 IDE 研发经验,是前 JetBrains Intellij IDEA 和 Scala 项目负责人,精通 Compiler、Program Language Design、Code Analysis 等技术。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大语言模型加速信创软件 IDE 技术革新 的相关文章

  • 嵌套 Linq Min() 使 Visual Studio 崩溃

    我有一段代码使 Visual Studio 2008 IDE 运行速度非常慢 消耗大量内存 最终导致其崩溃 我怀疑 VS 达到了操作系统内存限制 以下代码不是我的真实应用程序代码 但它模拟了问题 本质上 我试图使用 LINQ 找到树中的最小
  • 汤博乐开发工具

    我想创建 Tumblr 主题 有趣的是有没有 IDE Netbeans Eclipse PHPStorm 插件或开发工具 理想的情况是在浏览器中预览我的主题 而不将其上传到 Tumblr 谢谢 我找到了自己的方法来使用 PhpStorm 或
  • 什么是好的跨平台 C++ IDE? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 它需要有良好的代码完成支持 调试器和浏览代码的好方法 单击以转到文档 由于我被 Java IDE Eclipse 宠坏了 如果它支持重构
  • 如何在 IDE 中使用 Grails 依赖项

    So I finally https stackoverflow com questions 1867064 grails and local maven dependencies让我的依赖项与 Grails 一起工作 现在 我的 IDE
  • 在 Visual Studio 中进行嵌入式代码开发(尤其是使用 C18 的 PIC)

    我使用 Visual Studio 编写桌面应用程序 我发现它非常用户友好且易于使用 如果可能的话 我还想在Visual Studio中编写嵌入式代码 例如 是否可以使用 C18 或任何其他类似的基于 C 的语言为 PIC18Fxxx 系列
  • 为家庭作业选择 Java IDE [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 谁能推荐一个轻量级的 Java IDE 不需要您每次编译和运行程序时都创建新项目 我只想能够打开jav
  • 设置 xamarin studio 以与 PCL 和 MVVMCross 配合使用

    我真的很喜欢 Xamarin Studio 并且正在寻找一个模板解决方案来开始使用 MvvmCross 开发跨设备应用程序 但我找不到如何将项目设置为与 Xamarin Studio 一起使用 PCL 和 MvvmCross 如果有人能给我
  • Netbeans 将 css 变量显示为错误

    当我使用 css 变量时 我的 Netbeans IDE 显示错误 例如 这行代码将返回错误 root main bg color dad66f title color var main bg color 我在网上找到了这个解决方案 htt
  • IntelliJ Idea 15 显示依赖包和项目包

    IntelliJ Idea 15 CE 在项目的包视图中显示来自库 依赖项的包 仅当项目的根包与某些依赖项的根包相同时才会发生这种情况 对于前 我的项目的根包是org 所以所有的依赖关系也有org包状org apache logging也被
  • “完美”的 Python 调试器具有哪些功能? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 请告诉我您希望当前的 Python 调试器具有哪些功能 我正在创建一个新的 Python IDE 调试器 并期待着具有挑战性的请求 请原谅我无耻
  • IntelliJ IDEA 中查找方法/函数的快捷方式是什么?

    I know that Ctrl N is to find classes and it is very useful But what about methods ctrl F12 cmd F12 on macOS will show a
  • vs2008中的线程窗口在哪里

    我试图在 VS 2008 中找到描述的线程窗口here http www wintellect com cs blogs jrobbins archive 2007 08 01 neat new multithreaded debuggin
  • Eclipse 中选定单词的括号

    几天前 我觉得这个问题很愚蠢 所以不要将其发布在这里 但即使在搜索了很多之后 我也没有找到合适的解决方案 对于那些使用过的人TextEdit 在 Mac 上 他们会完全知道我在说什么 在编码时 我只想在单词或一行上加上引号或括号 为此 我必
  • 如何在 Windows 上的 Eclipse 中设置 Clang 工具链?

    我为一个愚蠢的问题道歉 但我在网上找不到答案 我正在努力为 64 位计算机上的 Windows 7 中的 Eclipse 设置 Clang 编译器 链接器 我对 C 的了解非常过时 并且从未在 Eclipse 中工作过 我想要实现的是在 W
  • WebStorm HTML 文件显示 HTML 元素的 TypeScript 错误

    我安装了 WebStorm 的新副本并打开了现有的 Angular 项目 当我打开项目中的任何 HTML 文件时 IDE 都会显示 找不到 div div html 文件中的标签 IDE 运行了几秒钟 然后显示 2 5 3 Typescri
  • Aptana Studio 3 上的预览选项卡在哪里?

    我在 Windows PC 上使用 Aptana Studio 2 并有一个选项卡用于在 IE 上预览页面 另一个选项卡用于在 Firefox 上预览 但我切换到了 Aptana 3 我不知道是没有预览还是我没有找到它 是的 我在 stac
  • 在 VS2008 的 XAML 编辑器中禁用 Intellisense?

    有没有办法在 Visual Studio 2008 的 XAML 编辑器中禁用 Intellisense 打字时通常会消耗很大的性能 有时我会等待十秒或更长时间 直到列表自动弹出 似乎在 选项 gt 文本编辑器 gt XAML 中 Inte
  • JavaScript IDE/编译器

    现在 我希望你们中的一些人能够理解我的要求 我是编程新手 我在 Codecademy com 上了解了 JavaScript 我使用 labs codecademy com 来编写 JavaScript 但它有限制 对于编程新手来说 我可以
  • 在 spring 上下文中通过类路径引用文件

    我正在尝试设置org springframework beans factory config PropertyPlaceholderConfigurerspring bean 我有 jdbc propertiessrc main conf
  • 在硬件不足的情况下进行编码

    我目前正在使用 C 中的 SIMD 指令进行编码 并尝试使用 IDE 在实时编码时显示错误 拼写错误等 问题是 我使用的是 AVX512 指令 我的硬件不支持这些指令 只有我用于编译的服务器支持 有没有一种方法可以在 IDE 中进行错误检查

随机推荐

  • JsonException: A possible object cycle was detected which is not supported 检测到可能的对象循环,这是不受支持的

    异常消息 JsonException A possible object cycle was detected which is not supported This can either be due to a cycle or if t
  • wget实现网站克隆

    这里写自定义目录标题 下载网站 WGET做镜像演示 wget用法说明 wget使用范例 下载网站 可以这样 wget r level 0 k p tries 0 https www django rest framework org 具体参
  • CSDN找到“仅我可见”内容

    有时候自己做一些笔记参考了他人的内容 所以想将文章转为 仅自己可见 仅作自用 记录一下CSDN找私密文章的方式 今天摸了好一会儿才找到哈哈哈 1 点击导航栏处的创作中心进入 2 查看更多 3 点击浏览就可以查看啦 来源 CSDN找到 仅我可
  • 工业数据的特殊性和安全防护体系探索思考

    随着工业互联网的发展 工业企业在生产运营管理过程中会产生各式各样数据 主要有研发设计数据 用户数据 生产运营数据 物流供应链数据等等 这样就形成了工业大数据 这些数据需要依赖企业的网络环境和应用系统进行内外部流通才能实现价值挖掘 如何高效安
  • 题解 | #火车进站#

    解约的同学看过来 提供一份解约思路 题解 火车进站 include
  • 20um尺度纳米机器人需要的条件

    制作出真正的智能纳米机器人需要什么条件 首先人类已经可以制作出一台符合人类需要的智能机器人了 即便不能生成出一台真正智能的机器人 但是半智能的机器人还是可以生产出来的 我认为半智能的机器人才是人类需要的 毕竟制作出一台可能不听话 失去控制的
  • 【二分查找】【z型搜索】LeetCode240:搜索二维矩阵

    LeetCoe240搜索矩阵 作者推荐 贪心算法 中位贪心 执行操作使频率分数最大 本文涉及的基础知识点 二分查找算法合集 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 该矩阵具有以下特性 每
  • Minecraft服务器badly compressed packet报错解决方法

    此方法只在1 16 5Mohist端 Forege和水龙头 解决过 在其他版本不一定适用 1 报错信息 因为已经解决了问题所以懒得改回去截图了 随便找的网图 2 解决方案 在服务端和客户端都安装 XL数据包 MOD 虽然写着1 16 4但是
  • echarts漏斗图自定义漏斗颜色、粗细、大小、间隔缝隙

    echarts漏斗图自定义漏斗颜色 粗细 大小 间隔缝隙
  • 24届还有在看工作机会的吗,求求大家看下小米吧,HC非常多

    一定要反问HR的六个问题 offer比较 华为 vs OPPO 离谱的一周 百度裁应届 拼多多 非必要就别去了吧 阿里云25k gt 美团29k 实习转正啦 进来看耍猴 12 17更新 25届实习招聘信息汇总走起 策论 设计产出 Learn
  • sqlserver-事物日志

    前言 每个 SQL Server 数据库都有事务日志 用于记录所有事务以及每个事务所做的数据库修改 事务日志是数据库的一个关键组件 如果系统出现故障 你将需要依靠该日志将数据库恢复到一致的状态 有关事务日志体系结构和内部组件的详细信息 请参
  • Navicat关闭自动检查更新版本教程

    Navicat关闭自动检查更新版本教程 首先 点击菜单中的工具菜单 弹出了下拉菜单选中为选项 点击选项 首先 点击菜单中的工具菜单 弹出了下拉菜单选中为选项 点击选项 去掉勾选上在启动时自动检查更新选项
  • android无线调试连接

    开发时 遇到一些设备无法通过USB线连接adb时 可以尝试使用wifi无线调试 首先 要确保手机和电脑在同一个局域网内 再到开发者选项中打开无线调试 并进入子页面 如下 图一 无线调试设置界面 点击使用配对码配对设备 会弹出如下对话框 图二
  • ubantu22版本配置静态IP地址

    文章目录 编辑网络配置文件 应用网络配置 查看网络配置结果 编辑网络配置文件 在Ubuntu中配置静态IP地址可以通过以下步骤实现 打开终端 使用以下命令编辑网络配置文件 etc netplan 00 installer config ya
  • 【web网页制作】html+css网页制作游戏主题-王者荣耀(5页面)【附源码下载】

    涉及知识 游戏主题网页制作 王者荣耀网页制作成品 游戏网页制作成品 游戏主题web开发 期末网页大作业 网页作业成品 web前端源码实例 如何制作网页 网页设计思路 如何从零开始制作web页面 专栏 web前端大作业网页制作 关于我 一个持
  • Android NDK开发详解Wear之处理 Wear 上的数据层事件

    Android NDK开发详解Wear之处理 Wear 上的数据层事件 等待数据层调用的状态 异步调用 同步调用 监听数据层事件 使用 WearableListenerService
  • 题解 | #浙江大学用户题目回答情况#

    快手测开二面面经 国企面经 多家 得物 测开 一面 中国联通陕西省分公司薪资待遇 京东健康前端实习一面凉经 求java推荐项目 面经回馈 秋招及实习历程中笔经 面经 时间梳理 国企银行 秒杀项目常见问题 终焉篇 双非本产品经理35w 终于来
  • Redis 底层数据结构

    在 Redis数据结构和对象机制 中提到的图中 我们知道 可以通过 redisObject 对象的 type 和 encoding 属性 可以决定Redis 主要的底层数据结构 SDS QuickList ZipList HashTable
  • EMC RI/CI测试方案助您对抗电磁设备干扰!

    方案背景 电磁或射频干扰的敏感性 会给工程师带来重大的风险和安全隐患 尤其是在工业 船用和医疗设备环境 这些环境系统中的控制 导航 监控 通信和警报等关键零部件必须具备电磁抗扰水平 以确保系统始终正常运行 抗扰系统测试方案一般分为传导抗扰与
  • 大语言模型加速信创软件 IDE 技术革新

    QCon 全球软件开发大会 上海站 将于 12 月 28 29 日举办 会议特别策划 智能化信创软件 IDE 专题 邀请到 华为云开发工具和效率领域首席专家 华为软件开发生产线 CodeArts 首席技术总监王亚伟担任专题出品人 为专题质量