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

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

3天内不再提示

机器编程:自动编程还能自主检测Bug,有望成为一种强大的生产力工具

ss 来源:探索科技TechSugar 作者:朵啦 2021-01-04 10:24 次阅读

机器编程机器学习有很大的不同,机器编程是教系统自己编程。虽然还处于早期阶段,但这种新颖的自我监控系统有望成为一种强大的生产力工具,并帮助软件开发人员完成耗时费力的DEBUG工作

软件进步靠研发,研发进展靠程序员,程序员写代码靠996。

软件产品是核心竞争力,如果不能领跑同行,就会被时代的浪潮拍死在沙滩上。头部公司每年都要在研发上砸下巨资,对于大公司需要靠研发投入保持竞争力;对于小公司来说,软件产品就是事关生存的“最后一根稻草”。随着异构时代的到来,海量数据由多样化的专用处理器组合管理,系统功能日趋繁复,管理这些系统所需的软件就越来越复杂,bug出现的可能性也越来越高。开发人员要花费越来越多的时间来修复bug,而不是编写代码。

写代码、改bug成了程序员996的工作核心;而软件开发周期未知而漫长,怕是996都无法解决。一觉睡起来,原本1%的代码就自动写到了99%,bug自动修复,你敢想吗?——Hi,这不再是梦了。

构建系统,然后由系统自行构建自己的软件系统,这种被称为“机器编程”的领域应运而生。英特尔首席科学家、英特尔研究院机器编程研究主任及创始人Justin Gottschlich表示,机器编程与机器学习有很大的不同,机器编程是教系统自己编程。虽然还处于早期阶段,但这种新颖的自我监控系统有望成为一种强大的生产力工具,并帮助软件开发人员完成耗时费力的Debug工作。

检测bug,软件自己搞定

“机器编程”一词在英特尔研究院和麻省理工学院联合发布的《机器编程的三大支柱》论文中首次提出,通过机器学习和其他方法,机器编程可以设计实现自动编写软件的软件。这将使程序员们有更大自由度和更多的精力去创造新的软件。对于英特尔研究院机器编程研究,自动生成软件领域是机器编程的核心重点。这个研究领域,英特尔研究院机器编程研究称之为“机器编程”。

它的核心原则是,人类向机器表达他(她)的意图,机器会自动创建完成该意图所需的所有软件。英特尔研究院机器编程研究对于某些工作负载进行专业化处理,计算资源变得越来越异构化,所以这需要专家级的程序员,他们非常了解硬件以及如何最大限度地利用硬件。但与此同时,软件开发人员越来越青睐于使用更抽象的语言,以提高工作效率。这反过来会导致硬件难以发挥出它本身的性能。

不久前,英特尔科学家与麻省理工学院(MIT),以及佐治亚理工学院(Georgia Tech)的研究人员共同推出了一种新的机器编程(MP)系统——机器推断代码相似性(MISIM)全新机器编程系统。是一款检测软件意图的自动化引擎,通过识别代码结构、分析与其它功能相似代码的句法差异实现。正如Justin所阐述的,“这是实现机器编程伟大愿景的重要一步。”同时Justin表示:“如果机器能做到自动检查和修复bug,我想大多数开发人员一定非常愿意让它来承担这项工作,至少我会。”

抱着实现机器编程的美好愿景,英特尔研究院机器编程研究在12月进一步推出了机器编程研究系统ControlFlag,除了自动编程,它还可以自动检测代码中的错误。在初步测试中,ControlFlag使用超过10亿个未标记的产品级代码来训练和学习新的缺陷。英特尔研究院机器编程研究认为ControlFlag是一个强大的新工具,可以大大减少评估和调试代码所需的时间和成本。

首先,ControlFlag是完全自我监督的机器编程系统,不需要人类对其进行训练及指导。ControlFlag的无监督模式识别方法使它可以在本质上学习适应开发者的风格。在要评估的控制工具的有限输入信息中,ControlFlag可以识别编程语言中的各种样式,不受代码使用的编程语言限制。

第二,ControlFlag检测bug的功能集成了机器学习、形式化方法、编程语言、编译器和计算机系统。据悉,ControlFlag通过一个称为异常检测的功能来进行bug检测,通过学习经验证的例子来检测正常的编程模式,并找出代码中可能导致bug的异常。该工具将学会识别和标记这些风格选择,并根据其见解进行自动的错误识别和建议解决方案,以便ControlFlag能够尽可能地避免将两个开发团队之间的风格差异视为代码错误。

自动检测bug的系统好不好用?英特尔已经开始评估内部使用ControlFlag来发现自己的软件和固件产品化中的错误。这是英特尔开发人员快速分析项目的一个关键组成部分,该项目旨在通过提供专家支持来帮助程序员加快速度。

机器编程更偏向随机

英特尔机器编程研究系统ControlFlag从超过十亿行的代码中学习,英特尔研究院机器编程研究表示,这在机器编程系统中尚属首次。另外,对于跨架构硬件来说,能够正确、高效、安全地编写代码的程序员稀少,从而导致代码中存在难以发现的新错误。而ControlFlag检测现有软件中的违规或异常情况,使可能已经在生产质量系统中存在了20多年的隐疾得以发现。过去可能有数百名开发人员查看过这些代码,但都没有意识到任何问题,现在ControlFlag可以实现人力不能达到的效果。

英特尔研究院机器编程研究融合了两种方法,来推动大量的机器编程研究,一种是形式化方法,一种是随机方法(stochastic approaches)。英特尔研究院机器编程研究分析目前业界在机器编程领域方面的工作发现,机器编程更偏向随机方法,并得到了很大的重视,例如深度神经网络和贝叶斯网络(Bayesian networks)等等。事实上,英特尔研究院机器编程研究表示,他们的某些合作伙伴或竞争对手正在做神经网络编程,使用神经网络来替换大量代码。这样做有好处,但是当遇到诸如可解释性或debug问题时,这样做也有风险。

在正确的应用场景,机器编程对开发效率的提升惊人。Justin表示,在某个案例中,用传统的软件技术,开发完成大约需要三年时间,有了先进的机器编程技术,只需要花一天的时间,就能开发完成同样质量的软件。“很多例子表明,不管是与我们的合作伙伴项目,还是我们自己内部的开发项目,机器编程都将生产率提高了一千倍以上。”

降低行业准入门槛,从业者创造性会更强

机器编程发展是否会让英特尔的程序员失业呢?Justin表示:不会。相反,机器编程实际上会创造数千万到数亿个就业机会。他进一步解释到:首先,当今存在的大多数机器编程系统都需要大量的数据,这些数据通常是以代码的形式存在,而代码是由专业程序员编写。

因此,随着自动化的发展,英特尔研究院机器编程研究对高技能程序员的需求增加,以推进系统的进步升级。最重要的是,如果英特尔研究院机器编程研究的意图系统成功,即允许用户向机器表达他或她的意图的系统,这将降低行业准入门槛。

机器编程会为全新类型的程序员创造大平台,从业者创造性会更强,而机器和系统会把这些想法综合起来做出软件。如今,通过ControlFlag和类似的系统,程序员可以显著减少调试时间,并将更多的时间花在人类程序员最擅长的工作——向机器呈现创造性的新思想。完全实现的ControlFlag可以通过自动化繁琐的软件开发工作(如测试、监控和调试)来帮助缓解上述挑战,同时可以解决当前软件开发中耗时费力代价昂贵的bug修复问题。

图:在全球78亿人中,只有2700万人会编写代码,占比不到 1%。英特尔希望借助机器编程技术,使所有人获得编程能力。

英特尔推进机器编程的最终目标是让每个人都能创建软件。当这一目标完全实现时,每个人都可以通过自己最擅长的方式,如代码、自然语言或其他方式向机器表达自己的设计意图,从而创建软件。这是一个大胆的目标,需要英特尔及合作伙伴付出许多努力。

做理性自由的破题者

算法与算力的进步,以及可用代码库的极大丰富,让机器编程拥有适宜的孕育环境;随着近年计算技术的迅猛发展,机器编程迎来重要拐点。英特尔一直以来的作风便是积极打破传统,开拓新的研究或工程领域,这些领域在英特尔研究院机器编程研究突破界限之前还无人涉及。此次异构系统领域亦是一片“处女地”,英特尔的创新驱动力来自于对这一未来技术趋势的预测。

如前所述,异构系统非常复杂,能够切实掌握异构系统编程技术的工程师少之又少,英特尔研究院机器编程研究正在开发某种机制,让程序员或非程序员不仅能够轻松访问异构硬件,还能充分使用其他系统可用资源,以大幅降低异构编程难度。这也是英特尔机器编程的基本驱动力之一。

为推动机器编程的开源合作,英特尔、发布了开源技术和出版物,推动机器编程的进一步发展以及与合伙伙伴的合作。英特尔还创立了叫做“机器编程研讨会”,也称MAPS,参会人数已经从四年前的20人增加到了2019年底的近400人。Justin透露,2021年还将建立一个新的机器编程中心,英特尔将会与业界建立更广泛的合作。

最后,引用Justin的一段话:对于颠覆性的技术,需要“理性的自由”。一切构想需要花时间埋头深入挖掘,把事情做好。否则,如果做事急躁,可能会在设计和方法上做出妥协。虽然可能获得短期收益,但系统的长期生命力可能会下降。

责任编辑:xj

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

    关注

    88

    文章

    3627

    浏览量

    93809
  • 机器学习
    +关注

    关注

    66

    文章

    8424

    浏览量

    132765
  • BUG
    BUG
    +关注

    关注

    0

    文章

    155

    浏览量

    15681
收藏 人收藏

    评论

    相关推荐

    新质生产力带动机械臂升级,哪些电机将迎来大机遇?

    机器人得到了飞速的发展。不过,目前人形机器人距离规模性商业落地还很远,加大机械臂使用率、渗透率和覆盖率成为当前的重点。   新质生产力要求机械臂进化
    的头像 发表于 10-11 00:04 6951次阅读
    新质<b class='flag-5'>生产力</b>带动机械臂升级,哪些电机将迎来大机遇?

    解码“新质生产力”,站式AI工具成工业智能化升级关键

    当前,各大产业最热门的话题无疑是“新质生产力”,发展“新质生产力”对产业智能化升级带动明显,尤其是作为国民经济主导的工业,产业重点已经从工业自动化转变为工业智能化。AI(人工智能)作为
    的头像 发表于 09-26 08:09 689次阅读
    解码“新质<b class='flag-5'>生产力</b>”,<b class='flag-5'>一</b>站式AI<b class='flag-5'>工具</b>成工业智能化升级关键

    聚焦培育新质生产力,小笨智能深耕服务机器人赛道

    新质生产力以科技创新为基础,通过深度融合通用技术和专用技术,实现生产效率、质量和创新能力的跨越式提升。培育和发展新质生产力,企业创新是基石。作为家集研发、
    的头像 发表于 09-04 10:48 385次阅读

    商汤科技发布《采用AI编程助手,发展新质生产力》白皮书

    大模型应用百花齐放,AI编程助手作为新质生产力工具为企业和开发者带来哪些价值?
    的头像 发表于 09-02 09:25 648次阅读

    工业机器人的四编程(示教编程、离线编程、自增强现实编程编程)剖析!

    和工作量,提高编程效率,实现编程的自适应性,从而提高生产效率,是机器编程技术发展的终极追求。本文将就
    的头像 发表于 08-30 12:14 2759次阅读
    工业<b class='flag-5'>机器</b>人的四<b class='flag-5'>种</b><b class='flag-5'>编程</b>(示教<b class='flag-5'>编程</b>、离线<b class='flag-5'>编程</b>、自增强现实<b class='flag-5'>编程</b>主<b class='flag-5'>编程</b>)剖析!

    abb工业机器人的编程语言是什么

    编程而设计。RAPID语言具有易学易用、功能强大、灵活性高等特点,广泛应用于ABB工业机器人的编程和应用开发。 ABB工业机器
    的头像 发表于 06-16 16:49 2643次阅读

    打造新质生产力,国产数据库如何发

    建设数字中国是推进中国式现代化的重要引擎,也为培育新质生产力提供了坚实基础。国产数据库作为新质生产力的关键代表,正逐步成为构筑数字基础设施的基石,其发展不仅关乎技术自主与信息安全,更深
    的头像 发表于 06-14 10:44 325次阅读

    本源超导量子计算机自主制造链11类产品系列之九: 中国自主量子计算编程生态工具

    使用。中国自主量子计算编程生态工具链本源量子独立自主研发了全栈式的量子计算编程生态工具链,涵盖量
    的头像 发表于 05-30 08:22 425次阅读
    本源超导量子计算机<b class='flag-5'>自主</b>制造链11类产品系列之九: 中国<b class='flag-5'>自主</b>量子计算<b class='flag-5'>编程</b>生态<b class='flag-5'>工具</b>链

    提高竞争!创新助力新质生产力!中图仪器补齐国产精密测量短板

    新质生产力是科技进步和生产方式变革下的新型生产力形态,强调智能化、灵活化、个性化和高质量化。中图仪器通过自主研发高精度测量仪器和激光跟踪仪,推动制造业
    的头像 发表于 03-25 14:01 688次阅读
    提高竞争<b class='flag-5'>力</b>!创新助力新质<b class='flag-5'>生产力</b>!中图仪器补齐国产精密测量短板

    商汤科技:AI 2.0时代的“新质生产力工具

    2024年全球开发者先锋大会(GDC)在上海盛大开幕,汇聚了全球顶尖的开发者与科技创新者。商汤科技董事长兼CEO徐立受邀出席,并发表了题为《AI 2.0时代的“新质生产力工具”》的主旨演讲,引发了广泛关注和深度思考。
    的头像 发表于 03-25 09:28 644次阅读

    新质生产力如何发展

    科技创新能够催生新产业、新模式、新动能是发展新质生产力的核心要素。必须加强科技创新,特别是原创性、颠覆性科技创新,加快实现高水平科技自立自强,打好关键核心技术攻坚战,使原创性、颠覆性科技创新成果竞相涌现,培育发展新质生产力的新动能。
    的头像 发表于 02-28 17:33 4255次阅读

    新质生产力的新和质

    新质生产力,是2023年9月首次提到的新的词汇,新质生产力生产力现代化的具体体现,即新的高水平现代化生产力(新类型、新结构、高技术水平、高质量、高效率、可持续的
    的头像 发表于 02-28 16:01 2381次阅读

    新质生产力的内涵和特点

    新质生产力是创新起主导作用,摆脱传统经济增长方式、生产力发展路径具有高科技、高效能、高质量特征符合新发展理念的先进生产力质态。
    的头像 发表于 02-28 15:51 8630次阅读

    新质生产力是指什么

    新质生产力作为先进生产力的具体体现形式,是马克思主义生产力理论的中国创新和实践,是科技创新交叉融合突破所产生的根本性成果。
    的头像 发表于 02-28 15:39 1.1w次阅读

    新质生产力哪些行业发展最好 如何提升新质生产力

    新质生产力的发展主要集中在新能源、新材料、先进制造、电子信息等战略性新兴产业。 新质生产力作为先进生产力的具体体现形式,是马克思主义生产力理论的中国创新和实践,是科技创新交叉融合突破所
    的头像 发表于 02-22 17:57 4949次阅读