动态 | 码农福音!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 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

使用Python对图像进行中值滤波

首先解答上一篇文章Python使用标准库subprocess调用外部程序中的问题,该题答案为['1', '2', '3', '4'],在正则表达式中,问号(?)...

46611
来自专栏企鹅号快讯

争论背后的编程语言:谁才是最容易出bug的语言?

10月份,ACM发布了一个关于编程语言对软件质量的影响的研究报告,在报告中有一些关于bug的有趣发现。 研究人员Baishakhi Ray,Daryl Posn...

1889
来自专栏数据魔术师

运筹学教学|运输问题代码分享(C++代码及详细注释)

经过了长时间的学习……小编终于学会了运输问题(Transportation Problem),可以说是很骄傲了!然而……今天老板突然给了小编一个规模巨大的问题去...

3966
来自专栏一个番茄说

函数式编程漫谈

最近在思考一个问题,函数式编程对于我们的软件开发的意义到底有多大?到底值不值得我们花时间去学习。因此,写下这篇文章来记录自己的思考。文章包含了前后端开发中的一些...

552
来自专栏牛客网

18届秋招c++面试流水账

18届秋招部分流水账,c++开发方向。供春招参考 定义: - 为回答一般 +为较好 x为不会 【远景能源】【挂】 1面 笔试,手写一个编程题。剑指offer原题...

3898
来自专栏企鹅号快讯

争论背后的编程语言:谁最容易出bug?

【IT168 评论】10月份,ACM发布了一个关于编程语言对软件质量的影响的研究报告,在报告中有一些关于bug的有趣发现。 研究人员Baishakhi Ray,...

1856
来自专栏大数据文摘

如何使用湖泊估算地球半径?

1478
来自专栏落影的专栏

程序员进阶之算法练习(十二)

前言 题目地址在HDU,输入对应的题号即可看到题目,在百度搜索hdu+对应的题号可以看到题解。 我简单的对题目难度进行了划分: 简单题:想法题,实现简单...

3357
来自专栏机器之心

学界 | MIT正式发布编程语言Julia 1.0:Python、R、C++三合一

在过去一年中,研究者利用 Julia 在一台超级计算机上分析天文图像,速度提升了 1000 倍,在 15 分钟内将接近 2 亿个天体进行分类。从技术上来看,这种...

442
来自专栏牛客网

微软阿里实习面经(offer)微软三面阿里面试(6面)

2010

扫描关注云+社区