别人家的工程师:阿里巴巴工程师有了新帮手,AI可帮助修Bug

尽管工程师用代码创造了AI,但AI又可以对这些代码点评一番、甚至修复Bug,工程师和AI的关系正在变得微妙。

AI评委引热议,阿里巴巴表示:AI不会取代工程师

4月18日,2019阿里巴巴研发效能峰会——“83行代码挑战赛”决赛现场引入了一位“AI评委”,和专家评委、大众评委配合,对选手提交的的代码做综合评价,这也是全球代码比赛中出现的首位AI评委。

图为83行代码挑战赛决赛现场排行榜,AI评委、大众评委、专家评委给选手打分

这场面向阿里3万多名工程师的技术大会旨在进一步提升内部的研发效率,而“83行代码挑战赛”可以说是阿里巴巴史上最大规模的代码品鉴会。比赛源自1年前阿里内网一次集体晒83行代码的活动,阿里巴巴集团CTO张建锋、蚂蚁金服CTO程立,甚至马云、彭蕾都有参与。

这位AI评委运行在云端,当选手提交代码后,会从静态分析、运行时分析、群体共性等不同维度对代码快速打分。比赛现场,大屏实时显示选手分数,随着AI评委、专家评委、大众评委的分数依次出现,分数排行榜会根据综合打分实时滚动,一个逻辑语言的处理甚至可能瞬间提高选手排名。

结合现场专家和大众评委的观点来看,AI评委的评分相当准确,且打分最为迅速,几乎是在代码提交后立刻出现结果。

AI评委是谁?

这位AI评委来自阿里巴巴代码平台研发的人工智能系统,其中最重要的一环是集成了Precfix(Patch Recommendation by Empirically Clustering),不依赖测试用例、编译结果,通过非规则化的智能扫描,即可自动定位代码中的Bug,并提供修复建议,速度可达毫秒级,且误报率低。

图为AI评委给出的选手打分,Precfix定位了代码中的缺陷,并给出修复建议

Precfix能够发现一些规则检查和人工评审都无法发现的缺陷,根本性地提升代码质量,有效减少开发工程师debug及代码评审时间。同时,Precfix提供的修复建议,能帮助工程师快速理解缺陷和解决问题。

图为工程师根据Precfix提供的修复建议修复了缺陷

目前,Precfix已被部署到阿里巴巴代码生产环境,用于缺陷检查。工程师写好代码,就提交到线上,Precfix会进行review,指出缺陷代码及相应的修复建议。

据一位工程师透露,过去人工review代码查找bug可能需要几小时甚至几天时间不等,而现在不用一杯咖啡的时间,Precfix就可以review完提交的全部代码,提高了至少20%效率。

未来,Precfix还会随着阿里代码平台的上云,一起为全球开发者服务。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

31岁,年薪33万:“谢谢今天裁掉我” !有底气的人生无需解释!

最近脉脉一则帖子炸锅了:某HR发帖称公司以按时下班为由裁员。这种情况下很多人都慌了,大家纷纷把“副业救国”奉为神律。可是你有没有认真的想过,为什么现在大家都需要副业:意外裁员后,房贷能够按时还上不至于“回收”…

linux脚本语言求累加和,Linux Shell脚本语言与数学表达式

当你理解了Shell脚本,每当需要时都能流畅编写时,那种感觉很爽的。本章中,我们将教你用脚本语言进行比较复杂的数学运算。让我们从斐波那契数列开始吧。斐波那契数列,又称黄金分割数列,指的是这样一个数列:0…

你应该知道的 HBase 基础,都在这儿了

阿里妹导读:2006 年10 月Google 发布三架马车之一的《Bigtable:A Distributed Storage System for Strctured Data》论文之后,Powerset 公司就宣布 HBase 在 Hadoop 项目中成立,作为子项目存在。后来,在2010 年左右逐渐…

一文读懂Docker及其对系统管理员的重要性

作者 | Damian Perera编译 | 火火酱,责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)自从Docker在2013年初上线以来,就与程序员及系统管理员之间产生了一种爱恨交加的奇妙关系。虽然与我交谈过的一些经验丰富的的开发人员…

主流微服务注册中心浅析和对比

开源产品受开发者热捧,是因为其代码透明、可以参与共建、有社区进行交流和学习,当然更重要的是开源产品的接入成本低。个人开发者或者中小型公司往往会将开源产品作为选型首选。 开发者通过阅读源代码,理解产品的功能设计和架构设计&#xf…

linux内核重要结构体,Linux中list_head结构体相关 | 技术部落

在Linux内核中,提供了一个用来创建双向循环链表的结构 list_head。虽然linux内核是用C语言写的,但是list_head的引入,使得内核数据结构也可以拥有面向对象的特性,通过使用操作list_head 的通用接口很容易实现代码的重用&#xff0…

Java老矣,尚能饭否?2020 Java生态系统报告出炉

最近,Jrebel公布了一份2020 Java生态系统报告,这份报告主要关注开发人员在开发过程中使用的技术。这份报告包含了技术人员正在用的编程语言、应用程序架构、应用服务器、运行时平台、框架技术、IDE、JRE/JDK版本、数据库、部署模型、构建工具和虚拟化工具…

AI评委引热议,阿里巴巴表示:AI不会取代工程师

昨日,一位能给工程师代码打分的“AI评委”引发了热议。起因是在2019阿里巴巴“83行代码挑战赛”决赛现场,一位运行在云端的AI评委和现场的专家评委、大众评委配合,一起对选手提交的的代码做综合评价。 “AI是否会取代工程师”的话题再次在网络…

windows2012运行linux,Linux一分钟部署完毕上线运行,windows server你要折磨我两天?...

原标题:Linux一分钟部署完毕上线运行,windows server你要折磨我两天?周四晚上好,各位~~经过数度折腾之后,终于对windows累觉不爱了。且不说点点点的弊端,浪费鼠标左右键的机械力,还有无数个需要…

使用DataWorks来调度AnalyticDB任务

DataWorks作为阿里云上广受欢迎的大数据开发调度服务,最近加入了对于AnalyticDB的支持,意味着所有的AnalyticDB客户可以获得任务开发、任务依赖关系管理、任务调度、任务运维等等全方位强大的能力,现在就给大家仔细介绍下如何使用DataWorks来…

稳定、可扩展、模块化、简化部署过程、版本控制……一文看懂 Kubernetes 到底如何运用!...

来源 | Daniele Fontani编译 | 火火酱,责编 | Carol出品 | CSDN云计算(ID:CSDNcloud)说实话,我是个Kubernetes爱好者。Kubernetes是软件开发的重要一步。当我遇到它时,我就想:“这就是将容器融入…

提升不止一点点,Dubbo 3.0 预览版详细解读

Dubbo 自 2011 年 10 月 27 日开源后,已被许多非阿里系的公司使用,其中既有当当网、网易考拉等互联网公司,也不乏中国人寿、青岛海尔等大型传统企业。更多用户信息,可以访问Dubbo GitHub,issue#1012: Wanted: whos usi…

Jenkins Tutorial

什么是Jenkins Jenkins是一个自动化平台,它允许你使用pipelines去部署应用。它也可以自动化其他任务。 BUILDTESTDEPLOYMENT Jenkins 架构 首先,你拥有一个Master Server,它控制pipelines和安排Build到你的Agent上; 其次&…

阿里云首次在ASPLOS'19发布重磅论文:揭秘帮助ECS快速迭代的热升级技术

第24届ACM编程语言和操作系统(ASPLOS19),于2019年4月13日至17日,在普罗维登斯召开,阿里云高级技术专家郑晓代表团队在会上发表了技术报告。 论文主题为《Fast and Scalable VMM Live Upgrade in Large Cloud Infrastr…

痛!做C#半年,挣的不如做AI1个月?”看到第二句泪目……

前段时间在网上发现一个热门话题:“做开发一年,在北京月薪不到1万,有点迷茫。” 其中,这个回答我永远忘不了:来源:库库的派派知乎回答,已取得授权在这短短的一条信息里,小编佩服不…

联想电脑u盘安装Linux,如何使用u盘安装linux系统

ps: 请注意,硬盘不是软盘7. 选择您的U盘作为硬盘驱动器,然后写入usb hdd 8. 点击[写]三,安装系统1. 将U盘插入计算机2. 启动计算机并按住[F2]进入BIOS以修改第一个启动项3. 选择U盘后,跳转到以下界面4. 按键盘键进入第二个“测试…

源码|详解分布式事务之 Seata-Client 原理及流程

前言 在分布式系统中,分布式事务是一个必须要解决的问题,目前使用较多的是最终一致性方案。自年初阿里开源了Fescar(四月初更名为Seata)后,该项目受到了极大的关注,目前已接近 8000 Star。Seata 以高性能和…

SonarQube中配置c语言/c++语言代码规则插件

文章目录一、下载安装重新启动1. 下载文件2.安装3. 重新启动SonarQube4. SonarQube管控台验证二、SonarQube管控台配置2.1. 创建配置模板2.2. 添加规则2.3. 查看配置模板规则列表2.4. 修改默认语言规则应用2.5. C配置流程同上我是java出身,因为特殊需要,要用sonarqube做一套c代…

从虚拟化前端Bug学习分析Kernel Dump

前言 也许大家都知道,分析 Kernel Dump 有个常用的工具叫 Crash,在我刚开始学习分析 Kernel Dump 的时候,总是花大量的时间折腾这个工具的用法,却总是记不住这个工具的功能。后来有一次在参加某次内部分享的时候,有位…

Apache Shiro RememberMe 1.2.4 反序列化过程命令执行漏洞【原理扫描】

文章目录一、分析定位1. 漏洞描述2. 项目引发漏洞简述二、 若依系统2.1. 版本升级2.2. 配置文件2.3. 推荐做法2.4. 栗子2.5. 项目场景三、Gus系统3.1. shiro版本升级3.2. 调用重新生成3.3. 生成工具类shiro漏洞补充:一、分析定位 1. 漏洞描述 目前厂商已经发布了新…