动态 | 码农福音!CASIL开发代码移植系统,CTRL+C/V快速编程不再是梦想

问:对于码农来说,有哪些可以提高开发效率的技巧?

答:Ctrl+C、Ctrl+V。

(图片来源:知乎)

AI科技评论发现:近日,麻省理工学院计算机科学与人工智能实验室(Computer Science and Artificial Intelligence Laboratory,CASIL)的一项新技术或将成为千百万码农的福音。他们开发了一个叫CodeCarbonCopy的系统,让码农可以将所需要的代码直接移植到新的程序中。具体来说,程序员可以从第一个程序中选择所需要的代码,然后在第二个程序中选择插入的位置,系统将会自动对代码进行修改——例如,变量名等,使得代码可以上下一致。

很厉害吧?这还没完。更碉堡的是,该系统可以在不同程序的不同文件格式和数据结构中进行转换。举个栗子,不同的图像处理程序可能会需要处理不同的文件格式,例如jpg、tiff或png等,在这个系统内部,它将会用单一的标准化方案表示这些图像格式,尽管不同的程序可能会使用不同的方案,但这个系统会自动进行转换,使得代码真正实现“无缝对接”。

CASIL的研究者在ACM软件工程基金会的研讨会上展示了这一系统。他们使用CodeCarbonCopy在六个流行的开源图像处理程序之间移植代码,总共进行了八次这样的代码移植实验,其中七次均取得了成功。

(在不同数据结构中找到对应关系,AI科技评论摘自相关论文)

使用CodeCarbonCopy将代码从一个程序移植到另一个程序的第一步是,将这两个程序都提供给相同的输入文件。然后系统比较两个程序如何处理该文件并自动推断出这些变量在各自的程序中扮演着相同的角色,一旦它确定了变量之间的对应关系,CodeCarbonCopy即可进行相应的处理。如果在两个程序代码中找不到某些变量的匹配项或者这些变量的初始定义,用户可以将这些变量进行标记,同时CodeCarbonCopy将自动从代码移植中消除使用这些变量的操作。

CodeCarbonCopy适用于不同文件格式(例如图像和数据存储)。在图像处理器中,这些程序基本上具备相同大小的存储单元,而在下一步工作中,研究人员正在考虑将文件格式的方法概括为一种,使得程序可以更灵活的组织数据和使用除数组之外的数据结构(如树或链表等)。

小结

让AI来自己编写是近年来人工智能的一个研究方向。如Deepmind开发的DeepCoder就会自己编程,但目前Deepcoder只能解决数行的代码问题,而且在自动拟合的程序中可能会出现很多缺乏逻辑性的代码,但CodeCarbonCopy这种可以大规模移植已有代码的工具的出现,在减轻了码农的负担的同时或许也给他们带来一丝担忧:如果AI也学会用Ctrl+C和Ctrl+V编程,未来还真的是码农们的对手呢。

论文地址:https://people.csail.mit.edu/rinard/paper/fse17.codecarboncopy.pdf

Via MIT,AI科技评论编译

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-09-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码神联盟

高效编程所需要做的那点事

聊聊如果才能高效编程 计划(Plan) 所谓Plan,其实就是对应于编程中的设计阶段,当然,这里的Plan并不像设计那样重量级。它要求我们程序员在正式...

2749
来自专栏Python中文社区

Python=R+SQL/Hive?在数据分析与挖掘方面该选哪一个?

什么是R语言? R语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R本来是由来自新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发(也因...

21010
来自专栏CSDN技术头条

谷歌的海量数据排序实验史

原文:History of massive-scale sorting experiments at Google 作者:Marian Dvor...

2048
来自专栏杨建荣的学习笔记

运维平台元数据稽核小结

数据库运维中的元数据建设都是重中之重,如果元数据不具有参考的价值,那么后续的操作都会受到影响,但是元数据的建设也应该是分成几个步子来走,首先得能够收集到元数...

1304
来自专栏WeTest质量开放平台团队的专栏

国庆长假综合症?云真机新功能让你迅速重回高效测试状态

可是,假期远去,日子还得照样过,为了让技术人员在国庆假期结束后能够加快测试效率,WeTest开发人员,在长假期间中开发了一个新功能——云真机键盘输入。

894
来自专栏数据小魔方

当PowerBI遇到R语言

PowerBI作为微软系最新的商务智能办公系统,自去年发布以来,一直都备受瞩目。 他的更新频次相当之高,功能更新迭代非常迅速。 大概对可视化领域稍有涉猎的朋友们...

4514
来自专栏张善友的专栏

依赖注入是否值得?

在博客的世界里进行了一场关于使用依赖注入(DI)之优点和缺点的有趣讨论。论题是:依赖注入是否真的值得? 讨论始自Jacob Proffitt,他撰文解释他的观...

1789
来自专栏腾讯Bugly的专栏

iOS 9.1 深坑体验及其破解之道

众所周知,苹果iOS 9的推新速度已经打破了纪录,9.1刚刚于上周推出后,昨天,9.2 beta1已经出来了。 那么,到底iOS9都有哪些坑?网上能够搜索到的那...

2695
来自专栏程序员的知识天地

Python爬虫入门,8个常用爬虫技巧盘点

编程对于任何一个新手来说都不是一件容易的事情,Python对于任何一个想学习的编程的人来说的确是一个福音,阅读Python代码像是在阅读文章,源于Python语...

1001
来自专栏CDA数据分析师

强大的图形功能软件:S-Plus

【摘要】S语言是由AT&T 贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。它的丰富的数据类型(向量、数组、列表、对象等)特别有利于实现新的统...

18310

扫码关注云+社区